Merge "Add Uri tests for IPv6 literal adresses" am: 3d869fea91
am: 4b6c4acdb7
Change-Id: I8628eed7510087ab5c27f86915f4360faec9d6d1
This commit is contained in:
@@ -22,6 +22,7 @@ import android.os.Parcel;
|
|||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class UriTest extends AndroidTestCase {
|
public class UriTest extends AndroidTestCase {
|
||||||
public void testParcelling() {
|
public void testParcelling() {
|
||||||
@@ -73,6 +74,12 @@ public class UriTest extends AndroidTestCase {
|
|||||||
assertEquals("new", b.getFragment());
|
assertEquals("new", b.getFragment());
|
||||||
assertEquals("bar", b.getSchemeSpecificPart());
|
assertEquals("bar", b.getSchemeSpecificPart());
|
||||||
assertEquals("foo", b.getScheme());
|
assertEquals("foo", b.getScheme());
|
||||||
|
|
||||||
|
a = Uri.fromParts("scheme", "[2001:db8::dead:e1f]/foo", "bar");
|
||||||
|
b = a.buildUpon().fragment("qux").build();
|
||||||
|
assertEquals("qux", b.getFragment());
|
||||||
|
assertEquals("[2001:db8::dead:e1f]/foo", b.getSchemeSpecificPart());
|
||||||
|
assertEquals("scheme", b.getScheme());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testStringUri() {
|
public void testStringUri() {
|
||||||
@@ -120,6 +127,38 @@ public class UriTest extends AndroidTestCase {
|
|||||||
assertEquals("a.foo.com", uri.getHost());
|
assertEquals("a.foo.com", uri.getHost());
|
||||||
assertEquals(-1, uri.getPort());
|
assertEquals(-1, uri.getPort());
|
||||||
assertEquals("\\.example.com/path", uri.getPath());
|
assertEquals("\\.example.com/path", uri.getPath());
|
||||||
|
|
||||||
|
uri = Uri.parse("https://[2001:db8::dead:e1f]/foo");
|
||||||
|
assertEquals("[2001:db8::dead:e1f]", uri.getAuthority());
|
||||||
|
assertNull(uri.getUserInfo());
|
||||||
|
assertEquals("[2001:db8::dead:e1f]", uri.getHost());
|
||||||
|
assertEquals(-1, uri.getPort());
|
||||||
|
assertEquals("/foo", uri.getPath());
|
||||||
|
assertEquals(null, uri.getFragment());
|
||||||
|
assertEquals("//[2001:db8::dead:e1f]/foo", uri.getSchemeSpecificPart());
|
||||||
|
|
||||||
|
uri = Uri.parse("https://[2001:db8::dead:e1f]/#foo");
|
||||||
|
assertEquals("[2001:db8::dead:e1f]", uri.getAuthority());
|
||||||
|
assertNull(uri.getUserInfo());
|
||||||
|
assertEquals("[2001:db8::dead:e1f]", uri.getHost());
|
||||||
|
assertEquals(-1, uri.getPort());
|
||||||
|
assertEquals("/", uri.getPath());
|
||||||
|
assertEquals("foo", uri.getFragment());
|
||||||
|
assertEquals("//[2001:db8::dead:e1f]/", uri.getSchemeSpecificPart());
|
||||||
|
|
||||||
|
uri = Uri.parse(
|
||||||
|
"https://some:user@[2001:db8::dead:e1f]:1234/foo?corge=thud&corge=garp#bar");
|
||||||
|
assertEquals("some:user@[2001:db8::dead:e1f]:1234", uri.getAuthority());
|
||||||
|
assertEquals("some:user", uri.getUserInfo());
|
||||||
|
assertEquals("[2001:db8::dead:e1f]", uri.getHost());
|
||||||
|
assertEquals(1234, uri.getPort());
|
||||||
|
assertEquals("/foo", uri.getPath());
|
||||||
|
assertEquals("bar", uri.getFragment());
|
||||||
|
assertEquals("//some:user@[2001:db8::dead:e1f]:1234/foo?corge=thud&corge=garp",
|
||||||
|
uri.getSchemeSpecificPart());
|
||||||
|
assertEquals("corge=thud&corge=garp", uri.getQuery());
|
||||||
|
assertEquals("thud", uri.getQueryParameter("corge"));
|
||||||
|
assertEquals(Arrays.asList("thud", "garp"), uri.getQueryParameters("corge"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCompareTo() {
|
public void testCompareTo() {
|
||||||
@@ -174,6 +213,7 @@ public class UriTest extends AndroidTestCase {
|
|||||||
assertEncodeDecodeRoundtripExact("Bob::");
|
assertEncodeDecodeRoundtripExact("Bob::");
|
||||||
assertEncodeDecodeRoundtripExact("Bob:");
|
assertEncodeDecodeRoundtripExact("Bob:");
|
||||||
assertEncodeDecodeRoundtripExact("::Bob::");
|
assertEncodeDecodeRoundtripExact("::Bob::");
|
||||||
|
assertEncodeDecodeRoundtripExact("https:/some:user@[2001:db8::dead:e1f]:1234/foo#bar");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void assertEncodeDecodeRoundtripExact(String s) {
|
private static void assertEncodeDecodeRoundtripExact(String s) {
|
||||||
|
|||||||
Reference in New Issue
Block a user