From: <asa...@us...> - 2012-12-25 05:52:10
|
Revision: 7913 http://sourceforge.net/p/htmlunit/code/7913 Author: asashour Date: 2012-12-25 05:52:06 +0000 (Tue, 25 Dec 2012) Log Message: ----------- Fix URL handling of local files in windows, if they have folders starting with dot, thanks to Hudson Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebRequest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2012-12-25 04:58:47 UTC (rev 7912) +++ trunk/htmlunit/src/changes/changes.xml 2012-12-25 05:52:06 UTC (rev 7913) @@ -8,6 +8,9 @@ <body> <release version="2.12" date="???" description="Bugfixes"> + <action type="fix" dev="asashour"> + Fix URL handling of local files in windows, if they have folders starting with dot. + </action> <action type="add" dev="asashour"> JavaScript: add document.implementation.createDocument for Chrome. </action> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebRequest.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebRequest.java 2012-12-25 04:58:47 UTC (rev 7912) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebRequest.java 2012-12-25 05:52:06 UTC (rev 7913) @@ -185,6 +185,9 @@ if (url.getRef() != null) { newFile += '#' + url.getRef(); } + if ("file".equals(url.getProtocol()) && url.getAuthority().endsWith(":")) { + newFile = ":" + newFile; + } url = new URL(url.getProtocol(), url.getHost(), url.getPort(), newFile); } catch (final Exception e) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java 2012-12-25 04:58:47 UTC (rev 7912) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java 2012-12-25 05:52:06 UTC (rev 7913) @@ -175,4 +175,14 @@ final URL expected = new URL("http://xn--wgbh1c.com/" + internationalized); assertEquals(expected, request.getUrl()); } + + /** + * @throws Exception if the test fails + */ + @Test + public void hiddenFileInWindows() throws Exception { + final URL url = new URL("file://c:/testing/.hidden/folder"); + final WebRequest request = new WebRequest(url); + assertEquals(url.toExternalForm(), request.getUrl().toExternalForm()); + } } |