From: <bra...@us...> - 2011-02-06 14:34:49
|
Revision: 3391 http://archive-access.svn.sourceforge.net/archive-access/?rev=3391&view=rev Author: bradtofel Date: 2011-02-06 14:34:43 +0000 (Sun, 06 Feb 2011) Log Message: ----------- Added fixupHTTPUrlWithOneSlash() Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/url/UrlOperations.java trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/util/url/UrlOperationsTest.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/url/UrlOperations.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/url/UrlOperations.java 2011-02-06 14:33:44 UTC (rev 3390) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/url/UrlOperations.java 2011-02-06 14:34:43 UTC (rev 3391) @@ -279,6 +279,16 @@ return sb.toString(); } + public static String fixupHTTPUrlWithOneSlash(String orig) { + if(orig.startsWith("http:/") && ! orig.startsWith(HTTP_SCHEME)) { + // very likely the IE "you must have meant 1 slash, not 2 bug: + StringBuilder sb = new StringBuilder(orig.length()+1); + sb.append(HTTP_SCHEME); + return sb.append(orig.substring(6)).toString(); + } + return orig; + } + /** * Attempt to extract the hostname component of an absolute URL argument. * @param url the url String from which to extract the hostname Modified: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/util/url/UrlOperationsTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/util/url/UrlOperationsTest.java 2011-02-06 14:33:44 UTC (rev 3390) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/util/url/UrlOperationsTest.java 2011-02-06 14:34:43 UTC (rev 3391) @@ -19,6 +19,9 @@ */ package org.archive.wayback.util.url; +import java.net.MalformedURLException; +import java.net.URL; + import junit.framework.TestCase; /** @@ -29,6 +32,22 @@ */ public class UrlOperationsTest extends TestCase { + public void testOneSlashUrl() throws MalformedURLException { + assertEquals("http://one.com/", + UrlOperations.fixupHTTPUrlWithOneSlash("http://one.com/")); + assertEquals("http://one.com", + UrlOperations.fixupHTTPUrlWithOneSlash("http://one.com")); + assertEquals("http://http://one.com", + UrlOperations.fixupHTTPUrlWithOneSlash("http://http://one.com")); + assertEquals("http://one.com", + UrlOperations.fixupHTTPUrlWithOneSlash("http:/one.com")); + assertEquals("http://one.com/", + UrlOperations.fixupHTTPUrlWithOneSlash("http:/one.com/")); + assertEquals("http://one.com/foo.html", + UrlOperations.fixupHTTPUrlWithOneSlash("http:/one.com/foo.html")); + + } + public void testIsAuthority() { checkAuthority("foo.com",true); checkAuthority("foo.con",false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |