@Test public void testHostAndPortWithBracketedIpv6() { URI uri = uriBuilder() .scheme("http") .port(8888) .hostAndPort(HostAndPort.fromParts("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", 8081)) .build(); assertEquals(uri.toASCIIString(), "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8081"); }
@Test public void testAddEmptyParameter() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .addParameter("pretty") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?pretty"); }
@Test public void testQueryParametersNoPath() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .addParameter("a", "1") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?a=1"); }
@Test public void testEncodesQueryParameters() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .replaceParameter("a", "&") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?a=%26"); }
@Test public void testAppendRelativePathToDefault() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("a/b/c") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c"); }
@Test public void testReplacePathWithRelative() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .replacePath("a/b/c") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c"); }
@Test public void testAppendRelativePathToDefault() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("a/b/c") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c"); }
@Test public void testWithPath() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .replacePath("/a/b/c") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c"); }
@Test public void testAppendToDefaultPath() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("/a/b/c") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c"); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "host starts with a bracket") public void testHostWithBracketedIpv6() { URI uri = uriBuilder() .scheme("http") .host("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]") .port(8081) .replacePath("/a/b") .build(); assertEquals(uri.toASCIIString(), "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8081/a/b"); }
@Test public void testAppendPathElidesSlashes() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("/a/b/c/") .appendPath("/x/y/z") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c/x/y/z"); }
@Test public void testAppendRelativePath() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("/a/b/c") .appendPath("x/y/z") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c/x/y/z"); }
@Test public void testHostAndPortWithUnbracketedIpv6String() { URI uri = uriBuilder() .scheme("http") .port(8888) .hostAndPort(HostAndPort.fromString("FEDC:BA98:7654:3210:FEDC:BA98:7654:3210")) .build(); assertEquals(uri.toASCIIString(), "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]"); }
@Test public void testAppendPathElidesSlashes() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("/a/b/c/") .appendPath("/x/y/z") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c/x/y/z"); }
@Test public void testAppendPathElidesSlashes() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .appendPath("/a/b/c/") .appendPath("/x/y/z") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/a/b/c/x/y/z"); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "host starts with a bracket") public void testHostWithBracketedIpv6() { URI uri = uriBuilder() .scheme("http") .host("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]") .port(8081) .replacePath("/a/b") .build(); assertEquals(uri.toASCIIString(), "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8081/a/b"); }
@Test public void testHostAndPortWithHostOnly() { URI uri = uriBuilder() .scheme("http") .port(8888) .hostAndPort(HostAndPort.fromString("example.com")) .build(); assertEquals(uri.toASCIIString(), "http://example.com"); }
@Test public void testAddMixedEmptyAndNonEmptyParameters() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .addParameter("pretty") .addParameter("pretty", "true") .addParameter("pretty") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?pretty&pretty=true&pretty"); }
@Test public void testAddMixedEmptyAndNonEmptyParameters() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .addParameter("pretty") .addParameter("pretty", "true") .addParameter("pretty") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?pretty&pretty=true&pretty"); }
@Test public void testAddMixedEmptyAndNonEmptyParameters() { URI uri = uriBuilder() .scheme("http") .host("www.example.com") .addParameter("pretty") .addParameter("pretty", "true") .addParameter("pretty") .build(); assertEquals(uri.toASCIIString(), "http://www.example.com/?pretty&pretty=true&pretty"); }