示例#1
0
 @Test
 public void test1() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("foo/bar/baz?a=b")));
   assertEquals("./xyz?x=y", r1.renderUrl(Url.parse("foo/bar/xyz?x=y")));
   assertEquals("./baz/xyz?x=y", r1.renderUrl(Url.parse("foo/bar/baz/xyz?x=y")));
   assertEquals("../aaa/xyz?x=y", r1.renderUrl(Url.parse("foo/aaa/xyz?x=y")));
   assertEquals("../../bbb/aaa/xyz?x=y", r1.renderUrl(Url.parse("bbb/aaa/xyz?x=y")));
 }
示例#2
0
 @Test
 public void test8() {
   UrlRenderer r1 =
       new UrlRenderer(new MockWebRequest(Url.parse("en/first-test-page?16-1.ILinkListener-l1")));
   assertEquals(
       "./first-test-page/indexed1/indexed2/indexed3?p1=v1",
       r1.renderUrl(Url.parse("en/first-test-page/indexed1/indexed2/indexed3?p1=v1")));
 }
示例#3
0
 @Test
 public void test7() {
   UrlRenderer r1 =
       new UrlRenderer(
           new MockWebRequest(
               Url.parse("MyTestPage/indexed1/indexed2/indexed3?10-27.ILinkListener-l2&p1=v1")));
   assertEquals("../../../MyTestPage?10", r1.renderUrl(Url.parse("MyTestPage?10")));
 }
示例#4
0
 /**
  * Verify that absolute urls are rendered as is, ignoring the current client url and base url
  * completely.
  *
  * <p>https://issues.apache.org/jira/browse/WICKET-4466
  */
 @Test
 public void renderAbsoluteUrl() {
   String absoluteUrl = "http://www.example.com/some/path.ext";
   Url url = Url.parse(absoluteUrl);
   UrlRenderer renderer = new UrlRenderer(new MockWebRequest(Url.parse("foo/bar")));
   String renderedUrl = renderer.renderUrl(url);
   assertEquals(absoluteUrl, renderedUrl);
 }
示例#5
0
  /**
   * https://issues.apache.org/jira/browse/WICKET-4561
   * https://issues.apache.org/jira/browse/WICKET-4562
   */
  @Test
  public void renderUrlWithRelativeArgument() {
    Url baseUrl = Url.parse("one/two/three");
    UrlRenderer renderer = new UrlRenderer(new MockWebRequest(baseUrl));
    baseUrl.setProtocol("http");
    baseUrl.setHost("www.example.com");
    baseUrl.setPort(8888);
    renderer.setBaseUrl(baseUrl);

    Url newUrl = Url.parse("four");
    newUrl.setProtocol("https");
    String fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);

    newUrl = Url.parse("./four");
    newUrl.setProtocol("https");
    fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);

    newUrl = Url.parse("./././four");
    newUrl.setProtocol("https");
    fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);

    newUrl = Url.parse("../four");
    newUrl.setProtocol("https");
    fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);

    newUrl = Url.parse(".././four");
    newUrl.setProtocol("https");
    fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);

    newUrl = Url.parse("../../../../four");
    newUrl.setProtocol("https");
    fullUrl = renderer.renderUrl(newUrl);
    assertEquals("https://www.example.com:8888/four", fullUrl);
  }
示例#6
0
 @Test
 public void test9() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("a/b/q/d/e")));
   assertEquals("../../../q/c/d/e", r1.renderUrl(Url.parse("a/q/c/d/e")));
 }
示例#7
0
 @Test
 public void test6() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("url/")));
   assertEquals("./x?1", r1.renderUrl(Url.parse("url/x?1")));
 }
示例#8
0
 @Test
 public void test3() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("?a=b")));
   assertEquals("./a/b/c?x=y", r1.renderUrl(Url.parse("a/b/c?x=y")));
 }
示例#9
0
 @Test
 public void test2() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("foo/bar/baz?a=b")));
   assertEquals("../../foo?x=y", r1.renderUrl(Url.parse("foo?x=y")));
   assertEquals("../../aaa?x=y", r1.renderUrl(Url.parse("aaa?x=y")));
 }
示例#10
0
 /**
  * https://issues.apache.org/jira/browse/WICKET-4401
  *
  * <p>A Url should not ends with '..' because some web containers do not handle it properly. Using
  * '../' works better.
  */
 @Test
 public void test13() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("foo/bar")));
   assertEquals("../", r1.renderUrl(Url.parse("")));
 }
示例#11
0
 /** <a href="https://issues.apache.org/jira/browse/WICKET-3337">WICKET-3337</a> */
 @Test
 public void test11() {
   UrlRenderer r1 = new UrlRenderer(new MockWebRequest(Url.parse("a")));
   assertEquals("./.", r1.renderUrl(Url.parse("")));
 }