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);
+       }
+
 }

Reply via email to