[url-setters.html]
type: testharness
[Setting .protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.]
expected: FAIL
[Setting .protocol = 'b']
expected: FAIL
[Setting .protocol = 'B' Upper-case ASCII is lower-cased]
expected: FAIL
[Setting .protocol = 'é' Non-ASCII is rejected]
expected: FAIL
[Setting .protocol = '0b' No leading digit]
expected: FAIL
[Setting .protocol = '+b' No leading punctuation]
expected: FAIL
[Setting .protocol = 'bC0+-.']
expected: FAIL
[Setting .protocol = 'b,c' Only some punctuation is acceptable]
expected: FAIL
[Setting .protocol = 'bé' Non-ASCII is rejected]
expected: FAIL
[Setting .protocol = 'b' Can’t switch from special scheme to non-special. Note: this may change, see https://github.com/whatwg/url/issues/104]
expected: FAIL
[Setting .protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.]
expected: FAIL
[Setting .protocol = 'http' Can’t switch from non-special scheme to special. Note: this may change, see https://github.com/whatwg/url/issues/104]
expected: FAIL
[Setting .username = 'me']
expected: FAIL
[Setting .username = '']
expected: FAIL
[Setting .username = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.]
expected: FAIL
[Setting .password = 'secret']
expected: FAIL
[Setting .password = '']
expected: FAIL
[Setting .password = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set.]
expected: FAIL
[Setting .password = '%c3%89té' Bytes already percent-encoded are left as-is.]
expected: FAIL
[Setting .host = '' The empty host is OK for non-special schemes]
expected: FAIL
[Setting .host = 'example.net' Path-only URLs can gain a host]
expected: FAIL
[Setting .host = '[::0:01\]:2' IPv6 address syntax is normalized]
expected: FAIL
[Setting .host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, and it’s invalid in a domain]
expected: FAIL
[Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
expected: FAIL
[Setting .hostname = '' The empty host is OK for non-special schemes]
expected: FAIL
[Setting .hostname = 'example.net' Path-only URLs can gain a host]
expected: FAIL
[Setting .hostname = '[::0:01\]' IPv6 address syntax is normalized]
expected: FAIL
[Setting .hostname = 'example.com:8080' Stuff after a : delimiter is ignored]
expected: FAIL
[Setting .hostname = 'example.com:' Stuff after a : delimiter is ignored]
expected: FAIL
[Setting .hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, and it’s invalid in a domain]
expected: FAIL
[Setting .port = '' Port number is unchanged if empty in the new value. Note: this may change, see https://github.com/whatwg/url/pull/113]
expected: FAIL
[Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
expected: FAIL
[Setting .pathname = '/var/log/../run/bar.socket']
expected: FAIL
[Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs]
expected: FAIL
[Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs]
expected: FAIL
[Setting .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
[Setting .pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, except %2E.]
expected: FAIL
[Setting .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
[Setting .hash = '\x00\x01\t\n\r\x1f !"#$%&'()*+,-./09:;<=>?@AZ[\\\]^_`az{|}~Éé' No percent-encoding at all (!); nuls, tabs, and newlines are removed]
expected: FAIL
[Setting .hash = '%c3%89té' Bytes already percent-encoded are left as-is]
expected: FAIL