From 32399fa13ad918dafbbb5dac3e65584be87a459a Mon Sep 17 00:00:00 2001 From: Steve Block Date: Tue, 27 Mar 2012 18:35:18 +0100 Subject: Cherry-pick WebKit change r84756 to add some URL parsing tests This is to improve test coverage prior to fixing window.location. See bug for details. See http://trac.webkit.org/changeset/84756 Bug: 2159848 Change-Id: I5ac9e5129938b31f2dc0fd244dcb233eafb17fb5 --- LayoutTests/fast/url/script-tests/segments.js | 13 +++++++++++++ LayoutTests/fast/url/script-tests/standard-url.js | 12 ++++++++++++ LayoutTests/fast/url/segments-expected.txt | 12 ++++++++++++ LayoutTests/fast/url/standard-url-expected.txt | 12 ++++++++++++ 4 files changed, 49 insertions(+) (limited to 'LayoutTests') diff --git a/LayoutTests/fast/url/script-tests/segments.js b/LayoutTests/fast/url/script-tests/segments.js index c621da1..a826703 100644 --- a/LayoutTests/fast/url/script-tests/segments.js +++ b/LayoutTests/fast/url/script-tests/segments.js @@ -68,6 +68,19 @@ cases = [ ["http://[2001::1]", ["http:","[2001::1]","0","/","",""]], ["http://[2001::1]:80", ["http:","[2001::1]","0","/","",""]], ["http://[[::]]", [":","","0","","",""]], + ["http:/example.com/", ["http:","example.org","0","/example.com/","",""]], + ["ftp:/example.com/", ["ftp:","example.com","0","/","",""]], + ["https:/example.com/", ["https:","example.com","0","/","",""]], + ["madeupscheme:/example.com/", ["madeupscheme:","","0","/example.com/","",""]], + ["file:/example.com/", ["file:","","0","/example.com/","",""]], + ["fops:/example.com/", ["fops:","","0","/example.com/","",""]], + ["gopher:/example.com/", ["gopher:","example.com","0","/","",""]], + ["ws:/example.com/", ["ws:","example.com","0","/","",""]], + ["wss:/example.com/", ["wss:","example.com","0","/","",""]], + ["data:/example.com/", ["data:","","0","/example.com/","",""]], + ["javascript:/example.com/", ["javascript:","","0","/example.com/","",""]], + ["mailto:/example.com/", ["mailto:","","0","/example.com/","",""]], + ]; var originalBaseURL = canonicalize("."); diff --git a/LayoutTests/fast/url/script-tests/standard-url.js b/LayoutTests/fast/url/script-tests/standard-url.js index 03808a8..ef2f7a7 100644 --- a/LayoutTests/fast/url/script-tests/standard-url.js +++ b/LayoutTests/fast/url/script-tests/standard-url.js @@ -35,6 +35,18 @@ cases = [ ["wss://foo:81/", "wss://foo:81/"], ["wss://foo:443/", "wss://foo/"], ["wss://foo:815/", "wss://foo:815/"], + ["http:/example.com/", "http://example.com/"], + ["ftp:/example.com/", "ftp://example.com/"], + ["https:/example.com/", "https://example.com/"], + ["madeupscheme:/example.com/", "madeupscheme:/example.com/"], + ["file:/example.com/", "file://localhost/example.com/"], + ["fops:/example.com/", "fops:/example.com/"], + ["gopher:/example.com/", "gopher://example.com/"], + ["ws:/example.com/", "ws://example.com/"], + ["wss:/example.com/", "wss://example.com/"], + ["data:/example.com/", "data:/example.com/"], + ["javascript:/example.com/", "javascript:/example.com/"], + ["mailto:/example.com/", "mailto:/example.com/"], ]; for (var i = 0; i < cases.length; ++i) { diff --git a/LayoutTests/fast/url/segments-expected.txt b/LayoutTests/fast/url/segments-expected.txt index 659be5f..b98c50f 100644 --- a/LayoutTests/fast/url/segments-expected.txt +++ b/LayoutTests/fast/url/segments-expected.txt @@ -69,6 +69,18 @@ PASS segments('http://2001::1]:80') is '[":","","0","","",""]' PASS segments('http://[2001::1]') is '["http:","[2001::1]","0","/","",""]' PASS segments('http://[2001::1]:80') is '["http:","[2001::1]","0","/","",""]' PASS segments('http://[[::]]') is '[":","","0","","",""]' +FAIL segments('http:/example.com/') should be ["http:","example.org","0","/example.com/","",""]. Was ["http:","","0","/example.com/","",""]. +FAIL segments('ftp:/example.com/') should be ["ftp:","example.com","0","/","",""]. Was ["ftp:","","0","/example.com/","",""]. +FAIL segments('https:/example.com/') should be ["https:","example.com","0","/","",""]. Was ["https:","","0","/example.com/","",""]. +PASS segments('madeupscheme:/example.com/') is '["madeupscheme:","","0","/example.com/","",""]' +PASS segments('file:/example.com/') is '["file:","","0","/example.com/","",""]' +PASS segments('fops:/example.com/') is '["fops:","","0","/example.com/","",""]' +FAIL segments('gopher:/example.com/') should be ["gopher:","example.com","0","/","",""]. Was ["gopher:","","0","/example.com/","",""]. +FAIL segments('ws:/example.com/') should be ["ws:","example.com","0","/","",""]. Was ["ws:","","0","/example.com/","",""]. +FAIL segments('wss:/example.com/') should be ["wss:","example.com","0","/","",""]. Was ["wss:","","0","/example.com/","",""]. +PASS segments('data:/example.com/') is '["data:","","0","/example.com/","",""]' +PASS segments('javascript:/example.com/') is '["javascript:","","0","/example.com/","",""]' +PASS segments('mailto:/example.com/') is '["mailto:","","0","/example.com/","",""]' PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/fast/url/standard-url-expected.txt b/LayoutTests/fast/url/standard-url-expected.txt index 5312e07..5f5c710 100644 --- a/LayoutTests/fast/url/standard-url-expected.txt +++ b/LayoutTests/fast/url/standard-url-expected.txt @@ -30,6 +30,18 @@ PASS canonicalize('wss://foo:80/') is 'wss://foo:80/' PASS canonicalize('wss://foo:81/') is 'wss://foo:81/' PASS canonicalize('wss://foo:443/') is 'wss://foo/' PASS canonicalize('wss://foo:815/') is 'wss://foo:815/' +FAIL canonicalize('http:/example.com/') should be http://example.com/. Was http:/example.com/. +FAIL canonicalize('ftp:/example.com/') should be ftp://example.com/. Was ftp:/example.com/. +FAIL canonicalize('https:/example.com/') should be https://example.com/. Was https:/example.com/. +PASS canonicalize('madeupscheme:/example.com/') is 'madeupscheme:/example.com/' +FAIL canonicalize('file:/example.com/') should be file://localhost/example.com/. Was file:///example.com/. +PASS canonicalize('fops:/example.com/') is 'fops:/example.com/' +FAIL canonicalize('gopher:/example.com/') should be gopher://example.com/. Was gopher:/example.com/. +FAIL canonicalize('ws:/example.com/') should be ws://example.com/. Was ws:/example.com/. +FAIL canonicalize('wss:/example.com/') should be wss://example.com/. Was wss:/example.com/. +PASS canonicalize('data:/example.com/') is 'data:/example.com/' +PASS canonicalize('javascript:/example.com/') is 'javascript:/example.com/' +PASS canonicalize('mailto:/example.com/') is 'mailto:/example.com/' PASS successfullyParsed is true TEST COMPLETE -- cgit v1.1