From 5834d282d4de5d0b5cacb9bf068f3896bef0a48a Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 21 Aug 2023 11:53:52 +0200 Subject: refactor: upgrade deno_ast 0.28 and deno_semver 0.4 (#20193) --- tools/wpt/expectation.json | 538 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 512 insertions(+), 26 deletions(-) (limited to 'tools') diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json index c3deef9bd..865a2d5f4 100644 --- a/tools/wpt/expectation.json +++ b/tools/wpt/expectation.json @@ -3211,10 +3211,10 @@ "urlsearchparams-constructor.any.html": true, "urlsearchparams-constructor.any.worker.html": true, "urlsearchparams-delete.any.html": [ - "Changing the query of a URL with an opaque path can impact the path" + "Changing the query of a URL with an opaque path can impact the path if the URL has no fragment" ], "urlsearchparams-delete.any.worker.html": [ - "Changing the query of a URL with an opaque path can impact the path" + "Changing the query of a URL with an opaque path can impact the path if the URL has no fragment" ], "urlsearchparams-foreach.any.html": true, "urlsearchparams-foreach.any.worker.html": true, @@ -3276,9 +3276,7 @@ "Input  with encoding utf-8", "Input − with encoding shift_jis", "Input − with encoding utf-8", - "Input á| with encoding utf-8", - "Input \ud800 with encoding utf-8", - "Input \ud800 with encoding windows-1252" + "Input á| with encoding utf-8" ], "url-setters-a-area.window.html": { "ignore": true @@ -3568,18 +3566,510 @@ ], "url-constructor.any.worker.html?include=javascript": true, "url-constructor.any.worker.html?include=mailto": true, - "url-setters-a-area.window.html?exclude=(file|javascript|mailto)": { - "ignore": true - }, - "url-setters-a-area.window.html?include=file": { - "ignore": true - }, - "url-setters-a-area.window.html?include=javascript": { - "ignore": true - }, - "url-setters-a-area.window.html?include=mailto": { - "ignore": true - }, + "url-setters-a-area.window.html?exclude=(file|javascript|mailto)": [ + ": Setting .protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", + ": Setting .protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", + ": Setting .protocol = 'b'", + ": Setting .protocol = 'b'", + ": Setting .protocol = 'B' Upper-case ASCII is lower-cased", + ": Setting .protocol = 'B' Upper-case ASCII is lower-cased", + ": Setting .protocol = 'é' Non-ASCII is rejected", + ": Setting .protocol = 'é' Non-ASCII is rejected", + ": Setting .protocol = '0b' No leading digit", + ": Setting .protocol = '0b' No leading digit", + ": Setting .protocol = '+b' No leading punctuation", + ": Setting .protocol = '+b' No leading punctuation", + ": Setting .protocol = 'bC0+-.'", + ": Setting .protocol = 'bC0+-.'", + ": Setting .protocol = 'b,c' Only some punctuation is acceptable", + ": Setting .protocol = 'b,c' Only some punctuation is acceptable", + ": Setting .protocol = 'bé' Non-ASCII is rejected", + ": Setting .protocol = 'bé' Non-ASCII is rejected", + ": Setting .protocol = 'file' Can’t switch from URL containing username/password/port to file", + ": Setting .protocol = 'file' Can’t switch from URL containing username/password/port to file", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'b' Can’t switch from special scheme to non-special", + ": Setting .protocol = 'b' Can’t switch from special scheme to non-special", + ": Setting .protocol = 's'", + ": Setting .protocol = 's'", + ": Setting .protocol = 'test'", + ": Setting .protocol = 'test'", + ": Setting .protocol = 'http' Can’t switch from non-special scheme to special", + ": Setting .protocol = 'http' Can’t switch from non-special scheme to special", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https:foo : bar' Stuff after the first ':' is ignored", + ": Setting .protocol = 'https:foo : bar' Stuff after the first ':' is ignored", + ": Setting Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", + ": Setting Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", + ": Setting .protocol = 'https' Port is set to null if it is the default for new scheme.", + ": Setting .protocol = 'https' Port is set to null if it is the default for new scheme.", + ": Setting .protocol = 'h\r\ntt\tps' Tab and newline are stripped", + ": Setting .protocol = 'h\r\ntt\tps' Tab and newline are stripped", + ": Setting .protocol = 'https\r'", + ": Setting .protocol = 'https\r'", + ": Setting .protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + ": Setting .protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + ": Setting .protocol = 'https\f'", + ": Setting .protocol = 'https\f'", + ": Setting .protocol = 'https\u000e'", + ": Setting .protocol = 'https\u000e'", + ": Setting .protocol = 'https '", + ": Setting .protocol = 'https '", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .username = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .username = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .username = 'x'", + ": Setting .username = 'x'", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .password = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .password = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .password = 'x'", + ": Setting .password = 'x'", + ": Setting .host = '\u0000' Non-special scheme", + ": Setting .host = '\u0000' Non-special scheme", + ": Setting .host = '\t'", + ": Setting .host = '\t'", + ": Setting .host = '\n'", + ": Setting .host = '\n'", + ": Setting .host = '\r'", + ": Setting .host = '\r'", + ": Setting .host = ' '", + ": Setting .host = ' '", + ": Setting .host = '#'", + ": Setting .host = '#'", + ": Setting .host = '/'", + ": Setting .host = '/'", + ": Setting .host = '?'", + ": Setting .host = '?'", + ": Setting .host = '@'", + ": Setting .host = '@'", + ": Setting .host = 'ß'", + ": Setting .host = 'ß'", + ": Setting .host = 'ß' IDNA Nontransitional_Processing", + ": Setting .host = 'ß' IDNA Nontransitional_Processing", + ": Setting .host = 'example.net' Cannot-be-a-base means no host", + ": Setting .host = 'example.net' Cannot-be-a-base means no host", + ": Setting .host = 'example.com:8080'", + ": Setting .host = 'example.com:8080'", + ": Setting .host = 'example.com' Port number is unchanged if not specified in the new value", + ": Setting .host = 'example.com' Port number is unchanged if not specified in the new value", + ": Setting .host = 'example.com:' Port number is unchanged if not specified", + ": Setting .host = 'example.com:' Port number is unchanged if not specified", + ": Setting .host = '' The empty host is not valid for special schemes", + ": Setting .host = '' The empty host is not valid for special schemes", + ": Setting .host = '' The empty host is OK for non-special schemes", + ": Setting .host = '' The empty host is OK for non-special schemes", + ": Setting .host = 'example.net' Path-only URLs can gain a host", + ": Setting .host = 'example.net' Path-only URLs can gain a host", + ": Setting .host = '0x7F000001:8080' IPv4 address syntax is normalized", + ": Setting .host = '0x7F000001:8080' IPv4 address syntax is normalized", + ": Setting .host = '[::0:01]:2' IPv6 address syntax is normalized", + ": Setting .host = '[::0:01]:2' IPv6 address syntax is normalized", + ": Setting .host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", + ": Setting .host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", + ": Setting .host = 'example.com:80' Default port number is removed", + ": Setting .host = 'example.com:80' Default port number is removed", + ": Setting .host = 'example.com:443' Default port number is removed", + ": Setting .host = 'example.com:443' Default port number is removed", + ": Setting .host = 'example.com:80' Default port number is only removed for the relevant scheme", + ": Setting .host = 'example.com:80' Default port number is only removed for the relevant scheme", + ": Setting .host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", + ": Setting .host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", + ": Setting .host = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:65535' Port numbers are 16 bit integers", + ": Setting .host = 'example.com:65535' Port numbers are 16 bit integers", + ": Setting .host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", + ": Setting .host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", + ": Setting .host = '[google.com]' Broken IPv6", + ": Setting .host = '[google.com]' Broken IPv6", + ": Setting .host = '[::1.2.3.4x]'", + ": Setting .host = '[::1.2.3.4x]'", + ": Setting .host = '[::1.2.3.]'", + ": Setting .host = '[::1.2.3.]'", + ": Setting .host = '[::1.2.]'", + ": Setting .host = '[::1.2.]'", + ": Setting .host = '[::1.]'", + ": Setting .host = '[::1.]'", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = 'a%C2%ADb'", + ": Setting .host = 'a%C2%ADb'", + ": Setting .host = '­'", + ": Setting .host = '­'", + ": Setting .host = '%C2%AD'", + ": Setting .host = '%C2%AD'", + ": Setting .host = 'xn--'", + ": Setting .host = 'xn--'", + ": Setting .hostname = '\u0000' Non-special scheme", + ": Setting .hostname = '\u0000' Non-special scheme", + ": Setting .hostname = '\t'", + ": Setting .hostname = '\t'", + ": Setting .hostname = '\n'", + ": Setting .hostname = '\n'", + ": Setting .hostname = '\r'", + ": Setting .hostname = '\r'", + ": Setting .hostname = ' '", + ": Setting .hostname = ' '", + ": Setting .hostname = '#'", + ": Setting .hostname = '#'", + ": Setting .hostname = '/'", + ": Setting .hostname = '/'", + ": Setting .hostname = '?'", + ": Setting .hostname = '?'", + ": Setting .hostname = '@'", + ": Setting .hostname = '@'", + ": Setting .hostname = 'example.net' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.net' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com'", + ": Setting .hostname = 'example.com'", + ": Setting .hostname = '' The empty host is not valid for special schemes", + ": Setting .hostname = '' The empty host is not valid for special schemes", + ": Setting .hostname = '' The empty host is OK for non-special schemes", + ": Setting .hostname = '' The empty host is OK for non-special schemes", + ": Setting .hostname = 'example.net' Path-only URLs can gain a host", + ": Setting .hostname = 'example.net' Path-only URLs can gain a host", + ": Setting .hostname = '0x7F000001' IPv4 address syntax is normalized", + ": Setting .hostname = '0x7F000001' IPv4 address syntax is normalized", + ": Setting .hostname = '[::0:01]' IPv6 address syntax is normalized", + ": Setting .hostname = '[::0:01]' IPv6 address syntax is normalized", + ": Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .hostname = '[google.com]' Broken IPv6", + ": Setting .hostname = '[google.com]' Broken IPv6", + ": Setting .hostname = '[::1.2.3.4x]'", + ": Setting .hostname = '[::1.2.3.4x]'", + ": Setting .hostname = '[::1.2.3.]'", + ": Setting .hostname = '[::1.2.3.]'", + ": Setting .hostname = '[::1.2.]'", + ": Setting .hostname = '[::1.2.]'", + ": Setting .hostname = '[::1.]'", + ": Setting .hostname = '[::1.]'", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = 'h' Drop /. from path", + ": Setting .hostname = 'h' Drop /. from path", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = 'a%C2%ADb'", + ": Setting .hostname = 'a%C2%ADb'", + ": Setting .hostname = '­'", + ": Setting .hostname = '­'", + ": Setting .hostname = '%C2%AD'", + ": Setting .hostname = '%C2%AD'", + ": Setting .hostname = 'xn--'", + ": Setting .hostname = 'xn--'", + ": Setting .port = '8080'", + ": Setting .port = '8080'", + ": Setting .port = '' Port number is removed if empty is the new value", + ": Setting .port = '' Port number is removed if empty is the new value", + ": Setting .port = '80' Default port number is removed", + ": Setting .port = '80' Default port number is removed", + ": Setting .port = '443' Default port number is removed", + ": Setting .port = '443' Default port number is removed", + ": Setting .port = '80' Default port number is only removed for the relevant scheme", + ": Setting .port = '80' Default port number is only removed for the relevant scheme", + ": Setting .port = '8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .port = '8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .port = '8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .port = '8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .port = '8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .port = '8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '65535' Port numbers are 16 bit integers", + ": Setting .port = '65535' Port numbers are 16 bit integers", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + ": Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '\t8080' Leading u0009 on special scheme", + ": Setting .port = '\t8080' Leading u0009 on special scheme", + ": Setting .port = '\t8080' Leading u0009 on non-special scheme", + ": Setting .port = '\t8080' Leading u0009 on non-special scheme", + ": Setting .port = '4wpt' Should use all ascii prefixed characters as port", + ": Setting .port = '4wpt' Should use all ascii prefixed characters as port", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = '' Non-special URLs can have their paths erased", + ": Setting .pathname = '' Non-special URLs can have their paths erased", + ": Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + ": Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + ": Setting .pathname = '' Path-only URLs cannot have their paths erased", + ": Setting .pathname = '' Path-only URLs cannot have their paths erased", + ": Setting .pathname = 'test' Path-only URLs always have an initial slash", + ": Setting .pathname = 'test' Path-only URLs always have an initial slash", + ": Setting .pathname = '/var/log/../run/bar.socket'", + ": Setting .pathname = '/var/log/../run/bar.socket'", + ": Setting .pathname = 'home'", + ": Setting .pathname = 'home'", + ": Setting .pathname = '../home'", + ": Setting .pathname = '../home'", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", + ": Setting .pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", + ": Setting .pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", + ": Setting .pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", + ": Setting .pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", + ": Setting .pathname = '?' ? needs to be encoded", + ": Setting .pathname = '?' ? needs to be encoded", + ": Setting .pathname = '#' # needs to be encoded", + ": Setting .pathname = '#' # needs to be encoded", + ": Setting .pathname = '?' ? needs to be encoded, non-special scheme", + ": Setting .pathname = '?' ? needs to be encoded, non-special scheme", + ": Setting .pathname = '#' # needs to be encoded, non-special scheme", + ": Setting .pathname = '#' # needs to be encoded, non-special scheme", + ": Setting .pathname = '/?é' ? doesn't mess up encoding", + ": Setting .pathname = '/?é' ? doesn't mess up encoding", + ": Setting .pathname = '/#é' # doesn't mess up encoding", + ": Setting .pathname = '/#é' # doesn't mess up encoding", + ": Setting .pathname = '/.//p' Serialize /. in path", + ": Setting .pathname = '/.//p' Serialize /. in path", + ": Setting .pathname = '/..//p'", + ": Setting .pathname = '/..//p'", + ": Setting .pathname = '//p'", + ": Setting .pathname = '//p'", + ": Setting .pathname = 'p' Drop /. from path", + ": Setting .pathname = 'p' Drop /. from path", + ": Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + ": Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + ": Setting .pathname = 'space '", + ": Setting .pathname = 'space '", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = '?lang=fr'", + ": Setting .search = '?lang=fr'", + ": Setting .search = '??lang=fr'", + ": Setting .search = '??lang=fr'", + ": Setting .search = '?'", + ": Setting .search = '?'", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", + ": Setting .search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", + ": Setting .search = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .search = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .search = '' Drop trailing spaces from trailing opaque paths", + ": Setting .search = '' Drop trailing spaces from trailing opaque paths", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = '##nav'", + ": Setting .hash = '##nav'", + ": Setting .hash = '#main'", + ": Setting .hash = '#main'", + ": Setting .hash = '#'", + ": Setting .hash = '#'", + ": Setting .hash = ''", + ": Setting .hash = ''", + ": Setting .hash = '#foo bar'", + ": Setting .hash = '#foo bar'", + ": Setting .hash = '#foo\"bar'", + ": Setting .hash = '#foo\"bar'", + ": Setting .hash = '#foo: Setting .hash = '#foo: Setting .hash = '#foo>bar'", + ": Setting .hash = '#foo>bar'", + ": Setting .hash = '#foo`bar'", + ": Setting .hash = '#foo`bar'", + ": Setting .hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed", + ": Setting .hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .hash = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .hash = '' Drop trailing spaces from trailing opaque paths", + ": Setting .hash = '' Drop trailing spaces from trailing opaque paths", + ": Setting .hash = ''", + ": Setting .hash = ''", + ": Setting .hash = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .hash = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .hash = ''", + ": Setting .hash = ''" + ], + "url-setters-a-area.window.html?include=file": [ + ": Setting .protocol = 'http' Can’t switch from file URL with no host", + ": Setting .protocol = 'http' Can’t switch from file URL with no host", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'wss'", + ": Setting .protocol = 'wss'", + ": Setting .protocol = 's'", + ": Setting .protocol = 's'", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'test'", + ": Setting .username = 'test'", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'test'", + ": Setting .password = 'test'", + ": Setting .host = 'x:123'", + ": Setting .host = 'x:123'", + ": Setting .host = 'loc%41lhost'", + ": Setting .host = 'loc%41lhost'", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .hostname = 'x:123'", + ": Setting .hostname = 'x:123'", + ": Setting .hostname = 'loc%41lhost'", + ": Setting .hostname = 'loc%41lhost'", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .pathname = '' Special URLs cannot have their paths erased", + ": Setting .pathname = '' Special URLs cannot have their paths erased", + ": Setting .pathname = '\\\\' File URLs and (back)slashes", + ": Setting .pathname = '\\\\' File URLs and (back)slashes", + ": Setting .pathname = '//\\/' File URLs and (back)slashes", + ": Setting .pathname = '//\\/' File URLs and (back)slashes", + ": Setting .pathname = '//monkey/..//' File URLs and (back)slashes", + ": Setting .pathname = '//monkey/..//' File URLs and (back)slashes", + ": Setting .href = 'http://0300.168.0xF0'", + ": Setting .href = 'http://0300.168.0xF0'" + ], + "url-setters-a-area.window.html?include=javascript": [ + ": Setting .protocol = 'defuse'", + ": Setting .protocol = 'defuse'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .password = 'bowser'", + ": Setting .password = 'bowser'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .hash = 'castle'", + ": Setting .hash = 'castle'" + ], + "url-setters-a-area.window.html?include=mailto": [ + ": Setting .protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", + ": Setting .protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", + ": Setting .username = 'me' Cannot-be-a-base means no username", + ": Setting .username = 'me' Cannot-be-a-base means no username", + ": Setting .password = 'secret' Cannot-be-a-base means no password", + ": Setting .password = 'secret' Cannot-be-a-base means no password", + ": Setting .host = 'example.com' Cannot-be-a-base means no host", + ": Setting .host = 'example.com' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com' Cannot-be-a-base means no host", + ": Setting .pathname = '/foo' Opaque paths cannot be set", + ": Setting .pathname = '/foo' Opaque paths cannot be set" + ], "url-setters.any.html?exclude=(file|javascript|mailto)": [ "URL: Setting .protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", "URL: Setting .protocol = 'https\f'", @@ -3598,10 +4088,8 @@ "URL: Setting .pathname = 'p' Drop /. from path", "URL: Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", "URL: Setting .pathname = 'space '", - "URL: Setting .search = '' Drop trailing spaces from trailing opaque paths", - "URL: Setting .search = ''", - "URL: Setting .hash = '' Drop trailing spaces from trailing opaque paths", - "URL: Setting .hash = ''" + "URL: Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + "URL: Setting .search = ''" ], "url-setters.any.html?include=file": [ "URL: Setting .pathname = '\\\\' File URLs and (back)slashes", @@ -3628,10 +4116,8 @@ "URL: Setting .pathname = 'p' Drop /. from path", "URL: Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", "URL: Setting .pathname = 'space '", - "URL: Setting .search = '' Drop trailing spaces from trailing opaque paths", - "URL: Setting .search = ''", - "URL: Setting .hash = '' Drop trailing spaces from trailing opaque paths", - "URL: Setting .hash = ''" + "URL: Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + "URL: Setting .search = ''" ], "url-setters.any.worker.html?include=file": [ "URL: Setting .pathname = '\\\\' File URLs and (back)slashes", @@ -9679,4 +10165,4 @@ "media-sniff.window.html": false } } -} +} \ No newline at end of file -- cgit v1.2.3