From: <bra...@us...> - 2010-08-17 00:06:09
|
Revision: 3231 http://archive-access.svn.sourceforge.net/archive-access/?rev=3231&view=rev Author: bradtofel Date: 2010-08-17 00:06:02 +0000 (Tue, 17 Aug 2010) Log Message: ----------- BUGFIX: (ARI-2509) - now rewriting absolute URLs in javascritp strings, with escaped '/'s. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/JSStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/replay/html/transformer/JSStringTransformerTest.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/JSStringTransformer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/JSStringTransformer.java 2010-08-16 23:00:36 UTC (rev 3230) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/JSStringTransformer.java 2010-08-17 00:06:02 UTC (rev 3231) @@ -38,7 +38,7 @@ */ public class JSStringTransformer implements StringTransformer { private final static Pattern httpPattern = Pattern - .compile("(http://[A-Za-z0-9:_@.-]+)"); + .compile("(http:\\\\?/\\\\?/[A-Za-z0-9:_@.-]+)"); public String transform(ReplayParseContext context, String input) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/replay/html/transformer/JSStringTransformerTest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/replay/html/transformer/JSStringTransformerTest.java 2010-08-16 23:00:36 UTC (rev 3230) +++ trunk/archive-access/projects/wayback/wayback-core/src/test/java/org/archive/wayback/replay/html/transformer/JSStringTransformerTest.java 2010-08-17 00:06:02 UTC (rev 3231) @@ -57,8 +57,15 @@ jst.transform(rc, input); assertEquals(1,rc.got.size()); assertEquals("http://www.gavelgrab.org",rc.got.get(0)); + + input = "onloadRegister(function (){window.location.href=\"http:\\/\\/www.facebook.com\\/barrettforwisconsin?v=info\";});"; + rc = new RecordingReplayParseContext(null, new URL("http://foo.com/"), null); + jst.transform(rc, input); + assertEquals(1,rc.got.size()); + assertEquals("http:\\/\\/www.facebook.com",rc.got.get(0)); } + public class RecordingReplayParseContext extends ReplayParseContext { ArrayList<String> got = null; /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |