package org.archive.url; import org.apache.commons.httpclient.URIException; import junit.framework.TestCase; public class IAURLCanonicalizerTest extends TestCase { public void testFull() throws URIException { IAURLCanonicalizer iaC = new IAURLCanonicalizer(new DefaultIACanonicalizerRules()); compCan(iaC,"http://www.archive.org:80/","http://archive.org/"); compCan(iaC,"https://www.archive.org:80/","https://archive.org:80/"); compCan(iaC,"http://www.archive.org:443/","http://archive.org:443/"); compCan(iaC,"https://www.archive.org:443/","https://archive.org/"); compCan(iaC,"http://www.archive.org/big/","http://archive.org/big"); compCan(iaC,"dns:www.archive.org","dns:www.archive.org"); //assertEquals("http") } private void compCan(URLCanonicalizer c, String orig, String want) throws URIException { HandyURL u = URLParser.parse(orig); c.canonicalize(u); String got = u.getURLString(); assertEquals(want,got); } public void testAlphaReorderQuery() { assertEquals(null,IAURLCanonicalizer.alphaReorderQuery(null)); assertEquals("",IAURLCanonicalizer.alphaReorderQuery("")); assertEquals("?",IAURLCanonicalizer.alphaReorderQuery("?")); assertEquals("?a",IAURLCanonicalizer.alphaReorderQuery("?a")); assertEquals("?ab",IAURLCanonicalizer.alphaReorderQuery("?ab")); assertEquals("?a=1",IAURLCanonicalizer.alphaReorderQuery("?a=1")); assertEquals("?ab=1",IAURLCanonicalizer.alphaReorderQuery("?ab=1")); assertEquals("?&a=1",IAURLCanonicalizer.alphaReorderQuery("?a=1&")); assertEquals("?a=1&b=1",IAURLCanonicalizer.alphaReorderQuery("?a=1&b=1")); assertEquals("?a=1&b=1",IAURLCanonicalizer.alphaReorderQuery("?b=1&a=1")); assertEquals("?a=a&a=a",IAURLCanonicalizer.alphaReorderQuery("?a=a&a=a")); assertEquals("?a=a&a=b",IAURLCanonicalizer.alphaReorderQuery("?a=b&a=a")); assertEquals("?a=a&a=b&b=a&b=b",IAURLCanonicalizer.alphaReorderQuery("?b=b&a=b&b=a&a=a")); } public void testMassageHost() { assertEquals("foo.com",IAURLCanonicalizer.massageHost("foo.com")); assertEquals("foo.com",IAURLCanonicalizer.massageHost("www.foo.com")); assertEquals("foo.com",IAURLCanonicalizer.massageHost("www12.foo.com")); assertEquals("www2foo.com",IAURLCanonicalizer.massageHost("www2foo.com")); assertEquals("www2foo.com",IAURLCanonicalizer.massageHost("www2.www2foo.com")); } public void testGetDefaultPort() { assertEquals(0,IAURLCanonicalizer.getDefaultPort("foo")); assertEquals(80,IAURLCanonicalizer.getDefaultPort("http")); assertEquals(443,IAURLCanonicalizer.getDefaultPort("https")); } }