blob: 13fdd9eb97a34fec3c8bb83ffb7031c1effd130e [file] [log] [blame]
package com.xtremelabs.robolectric.shadows;
import android.content.ContentUris;
import android.net.Uri;
import com.xtremelabs.robolectric.WithTestDefaultsRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(WithTestDefaultsRunner.class)
public class ContentUrisTest {
Uri URI;
@Before
public void setUp() throws Exception {
URI = Uri.parse("content://foo.com");
}
@Test public void canAppendId() {
assertThat(ContentUris.withAppendedId(URI, 1),
is(Uri.parse("content://foo.com/1")));
}
@Test(expected=NullPointerException.class)
public void appendIdThrowsNullPointerException() {
ContentUris.withAppendedId(null, 1);
}
@Test public void canParseId() {
assertThat(ContentUris.parseId(Uri.withAppendedPath(URI, "1")), is(1L));
assertThat(ContentUris.parseId(URI), is(-1L));
}
@Test(expected=NumberFormatException.class)
public void parseIdThrowsNumberFormatException() {
ContentUris.parseId(Uri.withAppendedPath(URI, "bar"));
}
@Test(expected=UnsupportedOperationException.class)
public void parseIdThrowsUnsupportedException() {
ContentUris.parseId(Uri.parse("mailto:bar@foo.com"));
}
}