summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/url/url-setters-a-area.window.js.ini
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/meta/url/url-setters-a-area.window.js.ini
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/url/url-setters-a-area.window.js.ini')
-rw-r--r--testing/web-platform/meta/url/url-setters-a-area.window.js.ini1084
1 files changed, 1084 insertions, 0 deletions
diff --git a/testing/web-platform/meta/url/url-setters-a-area.window.js.ini b/testing/web-platform/meta/url/url-setters-a-area.window.js.ini
new file mode 100644
index 0000000000..8166f44a1c
--- /dev/null
+++ b/testing/web-platform/meta/url/url-setters-a-area.window.js.ini
@@ -0,0 +1,1084 @@
+[url-setters-a-area.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [<a>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file]
+ expected: FAIL
+
+ [<area>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file]
+ expected: FAIL
+
+ [<a>: Setting <https://example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <https://example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <wss://x:x@example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <wss://x:x@example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host]
+ expected: FAIL
+
+ [<area>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host]
+ expected: FAIL
+
+ [<a>: Setting <file:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <file:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <file:>.protocol = 'wss']
+ expected: FAIL
+
+ [<area>: Setting <file:>.protocol = 'wss']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special]
+ expected: FAIL
+
+ [<a>: Setting <file://hi/path>.protocol = 's']
+ expected: FAIL
+
+ [<area>: Setting <file://hi/path>.protocol = 's']
+ expected: FAIL
+
+ [<a>: Setting <https://example.net>.protocol = 's']
+ expected: FAIL
+
+ [<area>: Setting <https://example.net>.protocol = 's']
+ expected: FAIL
+
+ [<a>: Setting <ftp://example.net>.protocol = 'test']
+ expected: FAIL
+
+ [<area>: Setting <ftp://example.net>.protocol = 'test']
+ expected: FAIL
+
+ [<a>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.]
+ expected: FAIL
+
+ [<area>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.]
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special]
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special]
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <ssh://example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <ssh://example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <nonsense:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <nonsense:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.username = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.username = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<a>: Setting <javascript://x/>.username = 'wario']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.username = 'wario']
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.username = 'test']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.username = 'test']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.password = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.password = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<a>: Setting <javascript://x/>.password = 'bowser']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.password = 'bowser']
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.password = 'test']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.password = 'test']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\t']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\t']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\n']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\n']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\r']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\r']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = ' ']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = ' ']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '#']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '#']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '/']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '/']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '?']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '?']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '@']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '@']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = 'ß']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = 'ß']
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<a>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<area>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<a>: Setting <file://y/>.host = 'x:123']
+ expected: FAIL
+
+ [<area>: Setting <file://y/>.host = 'x:123']
+ expected: FAIL
+
+ [<a>: Setting <sc://test@test/>.host = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test@test/>.host = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://test:12/>.host = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test:12/>.host = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\t']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\t']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\n']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\n']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\r']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\r']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = ' ']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = ' ']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '#']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '#']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '/']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '/']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '?']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '?']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '@']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '@']
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<a>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<area>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<a>: Setting <file://y/>.hostname = 'x:123']
+ expected: FAIL
+
+ [<area>: Setting <file://y/>.hostname = 'x:123']
+ expected: FAIL
+
+ [<a>: Setting <sc://test@test/>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test@test/>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://test:12/>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test:12/>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//p>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//p>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<a>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error]
+ expected: FAIL
+
+ [<area>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error]
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.port = '12']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.port = '12']
+ expected: FAIL
+
+ [<a>: Setting <javascript://x/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.port = '12']
+ expected: FAIL
+
+ [<a>: Setting <mailto:me@example.net>.pathname = '/foo' Cannot-be-a-base don’t have a path]
+ expected: FAIL
+
+ [<area>: Setting <mailto:me@example.net>.pathname = '/foo' Cannot-be-a-base don’t have a path]
+ expected: FAIL
+
+ [<a>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket']
+ expected: FAIL
+
+ [<area>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.pathname = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.pathname = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<area>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<a>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<area>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '/..//p']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '/..//p']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '//p']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '//p']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.search = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.search = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.hash = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.hash = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<a>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash]
+ expected: FAIL
+
+ [<area>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash]
+ expected: FAIL
+
+ [<a>: Setting <mailto:me@example.net>.pathname = '/foo' Opaque paths cannot be set]
+ expected: FAIL
+
+ [<area>: Setting <mailto:me@example.net>.pathname = '/foo' Opaque paths cannot be set]
+ expected: FAIL
+
+ [<a>: Setting <data:original>.pathname = 'new value']
+ expected: FAIL
+
+ [<area>: Setting <data:original>.pathname = 'new value']
+ expected: FAIL
+
+ [<a>: Setting <sc:original>.pathname = 'new value']
+ expected: FAIL
+
+ [<area>: Setting <sc:original>.pathname = 'new value']
+ expected: FAIL
+
+ [<a>: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020]
+ expected: FAIL
+
+ [<area>: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020]
+ expected: FAIL
+
+ [<a>: Setting <sc:/nospace>.pathname = 'space ']
+ expected: FAIL
+
+ [<area>: Setting <sc:/nospace>.pathname = 'space ']
+ expected: FAIL
+
+ [<a>: Setting <data:space ?query>.search = '' Drop trailing spaces from trailing opaque paths]
+ expected: FAIL
+
+ [<area>: Setting <data:space ?query>.search = '' Drop trailing spaces from trailing opaque paths]
+ expected: FAIL
+
+ [<a>: Setting <sc:space ?query>.search = '']
+ expected: FAIL
+
+ [<area>: Setting <sc:space ?query>.search = '']
+ expected: FAIL
+
+ [<a>: Setting <data:space ?query#fragment>.search = '' Do not drop trailing spaces from non-trailing opaque paths]
+ expected: FAIL
+
+ [<area>: Setting <data:space ?query#fragment>.search = '' Do not drop trailing spaces from non-trailing opaque paths]
+ expected: FAIL
+
+ [<a>: Setting <sc:space ?query#fragment>.search = '']
+ expected: FAIL
+
+ [<area>: Setting <sc:space ?query#fragment>.search = '']
+ expected: FAIL
+
+ [<a>: Setting <data:space #fragment>.hash = '' Drop trailing spaces from trailing opaque paths]
+ expected: FAIL
+
+ [<area>: Setting <data:space #fragment>.hash = '' Drop trailing spaces from trailing opaque paths]
+ expected: FAIL
+
+ [<a>: Setting <sc:space #fragment>.hash = '']
+ expected: FAIL
+
+ [<area>: Setting <sc:space #fragment>.hash = '']
+ expected: FAIL
+
+
+[url-setters-a-area.window.html?include=mailto]
+ [<a>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.]
+ expected: FAIL
+
+ [<area>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.]
+ expected: FAIL
+
+
+[url-setters-a-area.window.html?include=file]
+ [<a>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host]
+ expected: FAIL
+
+ [<area>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host]
+ expected: FAIL
+
+ [<a>: Setting <file:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <file:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <file:>.protocol = 'wss']
+ expected: FAIL
+
+ [<area>: Setting <file:>.protocol = 'wss']
+ expected: FAIL
+
+ [<a>: Setting <file://hi/path>.protocol = 's']
+ expected: FAIL
+
+ [<area>: Setting <file://hi/path>.protocol = 's']
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.username = 'test']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.username = 'test']
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.password = 'test']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.password = 'test']
+ expected: FAIL
+
+ [<a>: Setting <file://y/>.host = 'x:123']
+ expected: FAIL
+
+ [<area>: Setting <file://y/>.host = 'x:123']
+ expected: FAIL
+
+ [<a>: Setting <file://y/>.hostname = 'x:123']
+ expected: FAIL
+
+ [<area>: Setting <file://y/>.hostname = 'x:123']
+ expected: FAIL
+
+ [<a>: Setting <file://test/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <file://test/>.port = '12']
+ expected: FAIL
+
+ [<a>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<area>: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<a>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
+ expected: FAIL
+
+ [<area>: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
+ expected: FAIL
+
+
+[url-setters-a-area.window.html?exclude=(file|javascript|mailto)]
+ [<a>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file]
+ expected: FAIL
+
+ [<area>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file]
+ expected: FAIL
+
+ [<a>: Setting <https://example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <https://example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <wss://x:x@example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <wss://x:x@example.net:1234>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special]
+ expected: FAIL
+
+ [<a>: Setting <https://example.net>.protocol = 's']
+ expected: FAIL
+
+ [<area>: Setting <https://example.net>.protocol = 's']
+ expected: FAIL
+
+ [<a>: Setting <ftp://example.net>.protocol = 'test']
+ expected: FAIL
+
+ [<area>: Setting <ftp://example.net>.protocol = 'test']
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special]
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special]
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <ssh://me@example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <ssh://me@example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <ssh://example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<area>: Setting <ssh://example.net>.protocol = 'file']
+ expected: FAIL
+
+ [<a>: Setting <nonsense:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<area>: Setting <nonsense:///test>.protocol = 'https']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.username = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.username = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<a>: Setting <http://example.net>.password = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net>.password = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\t']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\t']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\n']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\n']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '\r']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '\r']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = ' ']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = ' ']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '#']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '#']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '/']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '/']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '?']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '?']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = '@']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = '@']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.host = 'ß']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.host = 'ß']
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<a>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<area>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<a>: Setting <sc://test@test/>.host = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test@test/>.host = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://test:12/>.host = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test:12/>.host = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.com/>.host = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\x00' Non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\t']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\t']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\n']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\n']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '\r']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '\r']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = ' ']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = ' ']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '#']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '#']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '/']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '/']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '?']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '?']
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.hostname = '@']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.hostname = '@']
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes]
+ expected: FAIL
+
+ [<a>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<area>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts]
+ expected: FAIL
+
+ [<a>: Setting <sc://test@test/>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test@test/>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://test:12/>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <sc://test:12/>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//p>.hostname = '']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//p>.hostname = '']
+ expected: FAIL
+
+ [<a>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.com/>.hostname = '///bad.com' Leading / is not stripped]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/path>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
+ expected: FAIL
+
+ [<a>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error]
+ expected: FAIL
+
+ [<area>: Setting <non-special://example.net:8080/path>.port = '65536' Port numbers are 16 bit integers, overflowing is an error]
+ expected: FAIL
+
+ [<a>: Setting <sc://x/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <sc://x/>.port = '12']
+ expected: FAIL
+
+ [<a>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased]
+ expected: FAIL
+
+ [<area>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased]
+ expected: FAIL
+
+ [<a>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash]
+ expected: FAIL
+
+ [<area>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash]
+ expected: FAIL
+
+ [<a>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket']
+ expected: FAIL
+
+ [<area>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket']
+ expected: FAIL
+
+ [<a>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs]
+ expected: FAIL
+
+ [<area>: Setting <http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs]
+ expected: FAIL
+
+ [<a>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs]
+ expected: FAIL
+
+ [<area>: Setting <view-source+http://example.net/home?lang=fr#nav>.pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.pathname = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.pathname = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '/..//p']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '/..//p']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/>.pathname = '//p']
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/>.pathname = '//p']
+ expected: FAIL
+
+ [<a>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path]
+ expected: FAIL
+
+ [<area>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.search = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.search = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.]
+ expected: FAIL
+
+ [<a>: Setting <a:/>.hash = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed]
+ expected: FAIL
+
+ [<area>: Setting <a:/>.hash = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed]
+ expected: FAIL
+
+ [<a>: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020]
+ expected: FAIL
+
+ [<a>: Setting <sc:space ?query#fragment>.search = '']
+ expected: FAIL
+
+ [<area>: Setting <data:/nospace>.pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020]
+ expected: FAIL
+
+ [<area>: Setting <data:space ?query#fragment>.search = '' Do not drop trailing spaces from non-trailing opaque paths]
+ expected: FAIL
+
+ [<area>: Setting <sc:/nospace>.pathname = 'space ']
+ expected: FAIL
+
+ [<a>: Setting <data:space ?query#fragment>.search = '' Do not drop trailing spaces from non-trailing opaque paths]
+ expected: FAIL
+
+ [<area>: Setting <sc:space ?query#fragment>.search = '']
+ expected: FAIL
+
+ [<a>: Setting <sc:/nospace>.pathname = 'space ']
+ expected: FAIL
+
+ [<a>: Setting <wpt++://domain.com:443>.port = '\t8080' Leading u0009 on non-special scheme]
+ expected: FAIL
+
+ [<area>: Setting <wpt++://domain.com:443>.port = '\t8080' Leading u0009 on non-special scheme]
+ expected: FAIL
+
+
+[url-setters-a-area.window.html?include=javascript]
+ [<a>: Setting <javascript://x/>.username = 'wario']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.username = 'wario']
+ expected: FAIL
+
+ [<a>: Setting <javascript://x/>.password = 'bowser']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.password = 'bowser']
+ expected: FAIL
+
+ [<a>: Setting <javascript://x/>.port = '12']
+ expected: FAIL
+
+ [<area>: Setting <javascript://x/>.port = '12']
+ expected: FAIL