|
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.
|