diff options
Diffstat (limited to 'LayoutTests/fast/url/script-tests')
-rw-r--r-- | LayoutTests/fast/url/script-tests/file-http-base.js | 3 | ||||
-rw-r--r-- | LayoutTests/fast/url/script-tests/segments.js | 11 | ||||
-rw-r--r-- | LayoutTests/fast/url/script-tests/standard-url.js | 7 |
3 files changed, 17 insertions, 4 deletions
diff --git a/LayoutTests/fast/url/script-tests/file-http-base.js b/LayoutTests/fast/url/script-tests/file-http-base.js index ca9e734..00965b8 100644 --- a/LayoutTests/fast/url/script-tests/file-http-base.js +++ b/LayoutTests/fast/url/script-tests/file-http-base.js @@ -36,7 +36,8 @@ cases = [ // Make sure relative paths can't go above the "C:" ["file:///C:/foo/../../../bar.html", "file:///C:/bar.html"], // Busted refs shouldn't make the whole thing fail. - ["file:///C:/asdf#\\xc2", "file:///C:/asdf#\\xef\\xbf\\xbd"], + ["file:///C:/asdf#\\xc2", "file:///C:/asdf#\\xc2"], + ["file:///C:/asdf#\xc2", "file:///C:/asdf#\xc2"], // Unix-style paths ["file:///home/me", "file:///home/me"], diff --git a/LayoutTests/fast/url/script-tests/segments.js b/LayoutTests/fast/url/script-tests/segments.js index a1e5dba..a83cb61 100644 --- a/LayoutTests/fast/url/script-tests/segments.js +++ b/LayoutTests/fast/url/script-tests/segments.js @@ -1,6 +1,6 @@ description("Test URL segmentation"); -cases = [ +cases = [ // [URL, [SCHEME, HOST, PORT, PATH, QUERY, REF]] ["http://user:pass@foo:21/bar;par?b#c", ["http:","foo","21","/bar;par","?b","#c"]], ["http:foo.com", ["http:","example.org","","/foo/foo.com","",""]], @@ -91,7 +91,14 @@ cases = [ ["wss:example.com/", ["wss:","example.com","","/","",""]], ["data:example.com/", ["data:","","","example.com/","",""]], ["javascript:example.com/", ["javascript:","","","example.com/","",""]], - ["mailto:example.com/", ["mailto:","","","example.com/","",""]], + ["mailto:example.com/", ["mailto:","","","example.com/","",""]], + + ["/a/b/c", ["http:","example.org","","/a/b/c","",""]], + ["/a/ /c", ["http:","example.org","","/a/%20/c","",""]], + ["/a%2fc", ["http:","example.org","","/a%2fc","",""]], + ["/a/%2f/c", ["http:","example.org","","/a/%2f/c","",""]], + + ["#\u03B2", ["http:","example.org","","/foo/bar","","#\u03B2"]], ]; var originalBaseURL = canonicalize("."); diff --git a/LayoutTests/fast/url/script-tests/standard-url.js b/LayoutTests/fast/url/script-tests/standard-url.js index 27afe76..5611faa 100644 --- a/LayoutTests/fast/url/script-tests/standard-url.js +++ b/LayoutTests/fast/url/script-tests/standard-url.js @@ -1,8 +1,10 @@ description("Canonicalization of standard URLs"); -cases = [ +cases = [ ["http://www.google.com/foo?bar=baz#", "http://www.google.com/foo?bar=baz#"], + ["http://www.google.com/foo?bar=baz# \u00bb", "http://www.google.com/foo?bar=baz# \u00bb"], ["http://[www.google.com]/", "http://[www.google.com]/"], + ["http://www.google.com", "http://www.google.com/"], // Disabled because whitespace gets treated different in this API. // ["ht\ttp:@www.google.com:80/;p?#", "ht%09tp://www.google.com:80/;p?#"], ["http:////////user:@google.com:99?foo", "http://user@google.com:99/?foo"], @@ -58,6 +60,9 @@ cases = [ ["data:example.com/", "data:example.com/"], ["javascript:example.com/", "javascript:example.com/"], ["mailto:example.com/", "mailto:example.com/"], + // Escaping of non hierarchical URLs + ["javascript:alert(\\t 1 \\n\\r)", "javascript:alert( 1 )"], + ['javascript:alert(" \1 \u03B2 ")', 'javascript:alert(" %01 %CE%B2 ")'], ]; for (var i = 0; i < cases.length; ++i) { |