Updated Branches: refs/heads/wicket-1.5.x 5a8bfada5 -> 2f20d06d4
WICKET-5114 Url#toString(StringMode.FULL) throws exception if a segment contains two dots Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2f20d06d Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2f20d06d Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2f20d06d Branch: refs/heads/wicket-1.5.x Commit: 2f20d06d42b9daddbf4243ee6e592d4a9b428059 Parents: 5a8bfad Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Apr 8 12:53:02 2013 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Apr 8 13:01:00 2013 +0300 ---------------------------------------------------------------------- .../main/java/org/apache/wicket/request/Url.java | 2 +- .../java/org/apache/wicket/request/UrlTest.java | 17 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/2f20d06d/wicket-request/src/main/java/org/apache/wicket/request/Url.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/Url.java b/wicket-request/src/main/java/org/apache/wicket/request/Url.java index 077f167..f2d4394 100755 --- a/wicket-request/src/main/java/org/apache/wicket/request/Url.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/Url.java @@ -704,7 +704,7 @@ public class Url implements Serializable result.append(port); } - if (path.contains("..")) + if (segments.contains("..")) { throw new IllegalStateException("Cannot render this url in " + StringMode.FULL.name() + " mode because it has a `..` segment: " + toString()); http://git-wip-us.apache.org/repos/asf/wicket/blob/2f20d06d/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java index 54200d6..09e6b93 100644 --- a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java +++ b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java @@ -799,4 +799,21 @@ public class UrlTest extends Assert assertEquals(Integer.valueOf(9090), url.getPort()); } + + @Test + public void wicket_5114_allowtoStringFullWhenContainingTwoDots() + { + Url url = Url.parse("/mountPoint/whatever.../"); + url.setHost("wicketHost"); + assertEquals("http://wicketHost/mountPoint/whatever.../", url.toString(StringMode.FULL)); + } + + @Test(expected = IllegalStateException.class) + public void wicket_5114_throwExceptionWhenToStringFullContainsRelativePathSegment() + { + Url url = Url.parse("/mountPoint/../whatever/"); + url.setHost("wicketHost"); + url.toString(StringMode.FULL); + } + }
