Author: pete
Date: Sat Jun 25 14:13:33 2011
New Revision: 1139543

URL: http://svn.apache.org/viewvc?rev=1139543&view=rev
Log:
move tests from class UrlTest in wicket-request to the equally named class in 
wicket-core

Removed:
    
wicket/trunk/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
Modified:
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java

Modified: 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java?rev=1139543&r1=1139542&r2=1139543&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java 
(original)
+++ 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/UrlTest.java 
Sat Jun 25 14:13:33 2011
@@ -32,6 +32,8 @@ import org.apache.wicket.util.lang.Wicke
  */
 
 // TODO test removeleadingsegments,prependleadingsegments
+// TODO move this test to wicket-request where class Url is located 
+//      (once the dependency to WicketObjects is replaced)
 public class UrlTest extends TestCase
 {
        private void checkSegments(Url url, String... segments)
@@ -389,4 +391,70 @@ public class UrlTest extends TestCase
                Url clonedUrl = (Url)WicketObjects.cloneObject(url);
                assertEquals(expected, clonedUrl.getCharset());
        }
+       
+       public void testParseRelativeUrl()
+       {
+               Url url = Url.parse("foo");
+               checkUrl(url, null, null, null, "foo");
+               assertFalse(url.isAbsolute());
+
+               url = Url.parse("foo/bar/baz");
+               checkUrl(url, null, null, null, "foo", "bar", "baz");
+               assertFalse(url.isAbsolute());
+
+               url = Url.parse("?foobar");
+               checkUrl(url, null, null, null);
+               assertEquals("", url.getQueryParameter("foobar").getValue());
+               assertFalse(url.isAbsolute());
+
+               url = Url.parse("foo?a=123");
+               checkUrl(url, null, null, null, "foo");
+               assertEquals("123", url.getQueryParameter("a").getValue());
+               assertFalse(url.isAbsolute());
+       
+               url = Url.parse("/foo");
+               checkUrl(url, null, null, null, "", "foo");
+               assertTrue(url.isAbsolute());
+       }
+
+       public void testParseAbsoluteUrl()
+       {
+               Url url = Url.parse("ftp://myhost:8081";);
+               checkUrl(url, "ftp", "myhost", 8081);
+               assertFalse(url.isAbsolute());
+       
+               url = Url.parse("gopher://myhost:8081/foo";);
+               checkUrl(url, "gopher", "myhost", 8081, "", "foo");
+               assertTrue(url.isAbsolute());
+
+               url = Url.parse("https://myhost/foo";);
+               checkUrl(url, "https", "myhost", 443, "", "foo");
+               assertTrue(url.isAbsolute());
+
+               url = Url.parse("https://myhost/foo:123";);
+               checkUrl(url, "https", "myhost", 443, "", "foo:123");
+               assertTrue(url.isAbsolute());
+
+               url = Url.parse("ftp://myhost/foo";);
+               checkUrl(url, "ftp", "myhost", 21, "", "foo");
+               assertTrue(url.isAbsolute());
+
+               url = Url.parse("FTp://myhost/foo");
+               checkUrl(url, "ftp", "myhost", 21, "", "foo");
+               assertTrue(url.isAbsolute());
+
+               url = Url.parse("unknown://myhost/foo");
+               checkUrl(url, "unknown", "myhost", null, "", "foo");
+               assertTrue(url.isAbsolute());
+
+       }
+
+       private void checkUrl(Url url, String protocol, String host, Integer 
port, String... segments)
+       {
+               assertNotNull(url);
+               assertEquals(protocol, url.getProtocol());
+               assertEquals(host, url.getHost());
+               assertEquals(port, url.getPort());
+               assertEquals(Arrays.asList(segments), url.getSegments());
+       }
 }


Reply via email to