Auto merge of #28480 - servo:dependabot/cargo/url-2.2.2, r=jdm

Bump url from 2.2.0 to 2.2.2

Bumps [url](https://github.com/servo/rust-url) from 2.2.0 to 2.2.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="6c22912c31"><code>6c22912</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/709">#709</a> from BramBonne/bump-version</li>
<li><a href="0707a58b91"><code>0707a58</code></a> Bump minor version number</li>
<li><a href="991e438ff1"><code>991e438</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/708">#708</a> from BramBonne/test-syntax-violations</li>
<li><a href="744b76332c"><code>744b763</code></a> Remove stray comma</li>
<li><a href="5793b7ef14"><code>5793b7e</code></a> Check parsing result in SyntaxViolation test</li>
<li><a href="0659871a26"><code>0659871</code></a> Add tests for SyntaxViolation callback types</li>
<li><a href="c6f60fe5ff"><code>c6f60fe</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/668">#668</a> from sdroege/make-relative</li>
<li><a href="d51cec4803"><code>d51cec4</code></a> Add Url::make_relative() as the inverse of Url::join()</li>
<li><a href="77fb472619"><code>77fb472</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/703">#703</a> from BramBonne/slicing-tests</li>
<li><a href="ea2342e182"><code>ea2342e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/705">#705</a> from BramBonne/test-quirks</li>
<li>Additional commits viewable in <a href="https://github.com/servo/rust-url/compare/v2.2.0...v2.2.2">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=url&package-manager=cargo&previous-version=2.2.0&new-version=2.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
This commit is contained in:
bors-servo 2022-04-03 12:13:34 -04:00 committed by GitHub
commit c5c6425faf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 744 additions and 5 deletions

4
Cargo.lock generated
View file

@ -6901,9 +6901,9 @@ dependencies = [
[[package]] [[package]]
name = "url" name = "url"
version = "2.2.0" version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e" checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
dependencies = [ dependencies = [
"form_urlencoded", "form_urlencoded",
"idna", "idna",

View file

@ -1,2 +1,684 @@
[url-setters-a-area.window.html] [url-setters-a-area.window.html]
expected: CRASH [<area>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'b']
expected: FAIL
[<area>: Setting <javascript:alert(1)>.protocol = 'defuse']
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = '0b' No leading digit]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = '+b' No leading punctuation]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'bC0+-.']
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable]
expected: FAIL
[<area>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected]
expected: FAIL
[<area>: Setting <http://test@example.net>.protocol = 'file' Cant switch from URL containing username/password/port to file]
expected: FAIL
[<area>: Setting <https://example.net:1234>.protocol = 'file']
expected: FAIL
[<area>: Setting <wss://x:x@example.net:1234>.protocol = 'file']
expected: FAIL
[<area>: Setting <file://localhost/>.protocol = 'http' Cant switch from file URL with no host]
expected: FAIL
[<area>: Setting <file:///test>.protocol = 'https']
expected: FAIL
[<area>: Setting <file:>.protocol = 'wss']
expected: FAIL
[<area>: Setting <http://example.net>.protocol = 'b' Cant switch from special scheme to non-special]
expected: FAIL
[<area>: Setting <file://hi/path>.protocol = 's']
expected: FAIL
[<area>: Setting <https://example.net>.protocol = 's']
expected: FAIL
[<area>: Setting <ftp://example.net>.protocol = 'test']
expected: FAIL
[<area>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesnt have a host, but URL in a special scheme must.]
expected: FAIL
[<area>: Setting <ssh://me@example.net>.protocol = 'http' Cant switch from non-special scheme to special]
expected: FAIL
[<area>: Setting <ssh://me@example.net>.protocol = 'https']
expected: FAIL
[<area>: Setting <ssh://me@example.net>.protocol = 'file']
expected: FAIL
[<area>: Setting <ssh://example.net>.protocol = 'file']
expected: FAIL
[<area>: Setting <nonsense:///test>.protocol = 'https']
expected: FAIL
[<area>: Setting <http://example.net>.protocol = 'https:foo : bar' Stuff after the first ':' is ignored]
expected: FAIL
[<area>: Setting <data:text/html,<p>Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored]
expected: FAIL
[<area>: Setting <http://foo.com:443/>.protocol = 'https' Port is set to null if it is the default for new scheme.]
expected: FAIL
[<area>: Setting <file:///home/you/index.html>.username = 'me' No host means no username]
expected: FAIL
[<area>: Setting <unix:/run/foo.socket>.username = 'me' No host means no username]
expected: FAIL
[<area>: Setting <mailto:you@example.net>.username = 'me' Cannot-be-a-base means no username]
expected: FAIL
[<area>: Setting <javascript:alert(1)>.username = 'wario']
expected: FAIL
[<area>: Setting <http://example.net>.username = 'me']
expected: FAIL
[<area>: Setting <http://:secret@example.net>.username = 'me']
expected: FAIL
[<area>: Setting <http://me@example.net>.username = '']
expected: FAIL
[<area>: Setting <http://me:secret@example.net>.username = '']
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
[<area>: Setting <http://example.net>.username = '%c3%89té' Bytes already percent-encoded are left as-is.]
expected: FAIL
[<area>: Setting <sc:///>.username = 'x']
expected: FAIL
[<area>: Setting <javascript://x/>.username = 'wario']
expected: FAIL
[<area>: Setting <file://test/>.username = 'test']
expected: FAIL
[<area>: Setting <file:///home/me/index.html>.password = 'secret' No host means no password]
expected: FAIL
[<area>: Setting <unix:/run/foo.socket>.password = 'secret' No host means no password]
expected: FAIL
[<area>: Setting <mailto:me@example.net>.password = 'secret' Cannot-be-a-base means no password]
expected: FAIL
[<area>: Setting <http://example.net>.password = 'secret']
expected: FAIL
[<area>: Setting <http://me@example.net>.password = 'secret']
expected: FAIL
[<area>: Setting <http://:secret@example.net>.password = '']
expected: FAIL
[<area>: Setting <http://me:secret@example.net>.password = '']
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
[<area>: Setting <http://example.net>.password = '%c3%89té' Bytes already percent-encoded are left as-is.]
expected: FAIL
[<area>: Setting <sc:///>.password = 'x']
expected: FAIL
[<area>: Setting <javascript://x/>.password = 'bowser']
expected: FAIL
[<area>: Setting <file://test/>.password = 'test']
expected: FAIL
[<area>: Setting <sc://x/>.host = '\x00' Non-special scheme]
expected: FAIL
[<area>: Setting <sc://x/>.host = '\t']
expected: FAIL
[<area>: Setting <sc://x/>.host = '\n']
expected: FAIL
[<area>: Setting <sc://x/>.host = '\r']
expected: FAIL
[<area>: Setting <sc://x/>.host = ' ']
expected: FAIL
[<area>: Setting <sc://x/>.host = '#']
expected: FAIL
[<area>: Setting <sc://x/>.host = '/']
expected: FAIL
[<area>: Setting <sc://x/>.host = '?']
expected: FAIL
[<area>: Setting <sc://x/>.host = '@']
expected: FAIL
[<area>: Setting <sc://x/>.host = 'ß']
expected: FAIL
[<area>: Setting <https://x/>.host = 'ß' IDNA Nontransitional_Processing]
expected: FAIL
[<area>: Setting <mailto:me@example.net>.host = 'example.com' Cannot-be-a-base means no host]
expected: FAIL
[<area>: Setting <data:text/plain,Stuff>.host = 'example.net' Cannot-be-a-base means no host]
expected: FAIL
[<area>: Setting <http://example.net>.host = 'example.com:8080']
expected: FAIL
[<area>: Setting <http://example.net:8080>.host = 'example.com' Port number is unchanged if not specified in the new value]
expected: FAIL
[<area>: Setting <http://example.net:8080>.host = 'example.com:' Port number is unchanged if not specified]
expected: FAIL
[<area>: Setting <http://example.net>.host = '' The empty host is not valid for special schemes]
expected: FAIL
[<area>: Setting <view-source+http://example.net/foo>.host = '' The empty host is OK for non-special schemes]
expected: FAIL
[<area>: Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host]
expected: FAIL
[<area>: Setting <http://example.net>.host = '0x7F000001:8080' IPv4 address syntax is normalized]
expected: FAIL
[<area>: Setting <http://example.net>.host = '[::0:01\]:2' IPv6 address syntax is normalized]
expected: FAIL
[<area>: Setting <http://example.net>.host = '[2001:db8::2\]:4002' IPv6 literal address with port, crbug.com/1012416]
expected: FAIL
[<area>: Setting <http://example.net>.host = 'example.com:80' Default port number is removed]
expected: FAIL
[<area>: Setting <https://example.net>.host = 'example.com:443' Default port number is removed]
expected: FAIL
[<area>: Setting <https://example.net>.host = 'example.com:80' Default port number is only removed for the relevant scheme]
expected: FAIL
[<area>: Setting <http://example.net:8080>.host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com/stuff' Stuff after a / delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com?stuff' Stuff after a ? delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com#stuff' Stuff after a # delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes]
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
[<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
[<area>: Setting <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 <http://example.net/path>.host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:65535' Port numbers are 16 bit integers]
expected: FAIL
[<area>: Setting <http://example.net/path>.host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.]
expected: FAIL
[<area>: Setting <http://example.net/>.host = '[google.com\]' Broken IPv6]
expected: FAIL
[<area>: Setting <http://example.net/>.host = '[::1.2.3.4x\]']
expected: FAIL
[<area>: Setting <http://example.net/>.host = '[::1.2.3.\]']
expected: FAIL
[<area>: Setting <http://example.net/>.host = '[::1.2.\]']
expected: FAIL
[<area>: Setting <http://example.net/>.host = '[::1.\]']
expected: FAIL
[<area>: Setting <file://y/>.host = 'x:123']
expected: FAIL
[<area>: Setting <file://y/>.host = 'loc%41lhost']
expected: FAIL
[<area>: Setting <file://hi/x>.host = '']
expected: FAIL
[<area>: Setting <sc://test@test/>.host = '']
expected: FAIL
[<area>: Setting <sc://test:12/>.host = '']
expected: FAIL
[<area>: Setting <http://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
[<area>: Setting <sc://x/>.hostname = '\x00' Non-special scheme]
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '\t']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '\n']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '\r']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = ' ']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '#']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '/']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '?']
expected: FAIL
[<area>: Setting <sc://x/>.hostname = '@']
expected: FAIL
[<area>: Setting <mailto:me@example.net>.hostname = 'example.com' Cannot-be-a-base means no host]
expected: FAIL
[<area>: Setting <data:text/plain,Stuff>.hostname = 'example.net' Cannot-be-a-base means no host]
expected: FAIL
[<area>: Setting <http://example.net:8080>.hostname = 'example.com']
expected: FAIL
[<area>: Setting <http://example.net>.hostname = '' The empty host is not valid for special schemes]
expected: FAIL
[<area>: Setting <view-source+http://example.net/foo>.hostname = '' The empty host is OK for non-special schemes]
expected: FAIL
[<area>: Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host]
expected: FAIL
[<area>: Setting <http://example.net:8080>.hostname = '0x7F000001' IPv4 address syntax is normalized]
expected: FAIL
[<area>: Setting <http://example.net>.hostname = '[::0:01\]' IPv6 address syntax is normalized]
expected: FAIL
[<a>: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value]
expected: FAIL
[<area>: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value]
expected: FAIL
[<a>: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value]
expected: FAIL
[<area>: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value]
expected: FAIL
[<area>: Setting <http://example.net/path>.hostname = 'example.com/stuff' Stuff after a / delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.hostname = 'example.com#stuff' Stuff after a # delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes]
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
[<area>: Setting <http://example.net/>.hostname = '[google.com\]' Broken IPv6]
expected: FAIL
[<area>: Setting <http://example.net/>.hostname = '[::1.2.3.4x\]']
expected: FAIL
[<area>: Setting <http://example.net/>.hostname = '[::1.2.3.\]']
expected: FAIL
[<area>: Setting <http://example.net/>.hostname = '[::1.2.\]']
expected: FAIL
[<area>: Setting <http://example.net/>.hostname = '[::1.\]']
expected: FAIL
[<area>: Setting <file://y/>.hostname = 'x:123']
expected: FAIL
[<area>: Setting <file://y/>.hostname = 'loc%41lhost']
expected: FAIL
[<area>: Setting <file://hi/x>.hostname = '']
expected: FAIL
[<area>: Setting <sc://test@test/>.hostname = '']
expected: FAIL
[<area>: Setting <sc://test:12/>.hostname = '']
expected: FAIL
[<area>: Setting <non-spec:/.//p>.hostname = 'h' Drop /. from path]
expected: FAIL
[<area>: Setting <non-spec:/.//p>.hostname = '']
expected: FAIL
[<area>: Setting <http://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
[<area>: Setting <http://example.net>.port = '8080']
expected: FAIL
[<area>: Setting <http://example.net:8080>.port = '' Port number is removed if empty is the new value]
expected: FAIL
[<area>: Setting <http://example.net:8080>.port = '80' Default port number is removed]
expected: FAIL
[<area>: Setting <https://example.net:4433>.port = '443' Default port number is removed]
expected: FAIL
[<area>: Setting <https://example.net>.port = '80' Default port number is only removed for the relevant scheme]
expected: FAIL
[<area>: Setting <http://example.net/path>.port = '8080/stuff' Stuff after a / delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.port = '8080?stuff' Stuff after a ? delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.port = '8080#stuff' Stuff after a # delimiter is ignored]
expected: FAIL
[<area>: Setting <http://example.net/path>.port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes]
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
[<area>: Setting <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 <http://example.net/path>.port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error]
expected: FAIL
[<area>: Setting <http://example.net/path>.port = '65535' Port numbers are 16 bit integers]
expected: FAIL
[<area>: Setting <http://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
[<area>: Setting <file://test/>.port = '12']
expected: FAIL
[<area>: Setting <file://localhost/>.port = '12']
expected: FAIL
[<area>: Setting <non-base:value>.port = '12']
expected: FAIL
[<area>: Setting <sc:///>.port = '12']
expected: FAIL
[<area>: Setting <sc://x/>.port = '12']
expected: FAIL
[<area>: Setting <javascript://x/>.port = '12']
expected: FAIL
[<area>: Setting <mailto:me@example.net>.pathname = '/foo' Cannot-be-a-base dont have a path]
expected: FAIL
[<area>: Setting <file:///some/path>.pathname = '' Special URLs cannot have their paths erased]
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
[<area>: Setting <foo:/some/path>.pathname = '' Path-only URLs cannot have their paths erased]
expected: FAIL
[<area>: Setting <foo:/some/path>.pathname = 'test' Path-only URLs always have an initial slash]
expected: FAIL
[<area>: Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket']
expected: FAIL
[<area>: Setting <https://example.net#nav>.pathname = 'home']
expected: FAIL
[<area>: Setting <https://example.net#nav>.pathname = '../home']
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
[<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
[<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
[<area>: Setting <http://example.net>.pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.]
expected: FAIL
[<area>: Setting <http://example.net>.pathname = '?' ? needs to be encoded]
expected: FAIL
[<area>: Setting <http://example.net>.pathname = '#' # needs to be encoded]
expected: FAIL
[<area>: 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
[<area>: Setting <http://example.net>.pathname = '/?é' ? doesn't mess up encoding]
expected: FAIL
[<area>: Setting <http://example.net>.pathname = '/#é' # doesn't mess up encoding]
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 <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes]
expected: FAIL
[<area>: Setting <file:///unicorn>.pathname = '//monkey/..//' 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
[<area>: Setting <non-spec:/.//>.pathname = 'p' Drop /. from path]
expected: FAIL
[<area>: Setting <https://example.net#nav>.search = 'lang=fr']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.search = 'lang=fr']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.search = '?lang=fr']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.search = '??lang=fr']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.search = '?']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.search = '']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US>.search = '']
expected: FAIL
[<area>: Setting <https://example.net>.search = '']
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
[<area>: Setting <http://example.net>.search = '%c3%89té' Bytes already percent-encoded are left as-is]
expected: FAIL
[<area>: Setting <https://example.net>.hash = 'main']
expected: FAIL
[<area>: Setting <https://example.net#nav>.hash = 'main']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US>.hash = '##nav']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.hash = '#main']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.hash = '#']
expected: FAIL
[<area>: Setting <https://example.net?lang=en-US#nav>.hash = '']
expected: FAIL
[<area>: Setting <http://example.net>.hash = '#foo bar']
expected: FAIL
[<area>: Setting <http://example.net>.hash = '#foo"bar']
expected: FAIL
[<area>: Setting <http://example.net>.hash = '#foo<bar']
expected: FAIL
[<area>: Setting <http://example.net>.hash = '#foo>bar']
expected: FAIL
[<area>: Setting <http://example.net>.hash = '#foo`bar']
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
[<area>: Setting <http://example.net>.hash = 'a\x00b' Percent-encode NULLs in fragment]
expected: FAIL
[<area>: Setting <non-spec:/>.hash = 'a\x00b' Percent-encode NULLs in fragment]
expected: FAIL
[<area>: Setting <http://example.net>.hash = '%c3%89té' Bytes already percent-encoded are left as-is]
expected: FAIL
[<a>: Setting <javascript:alert(1)>.hash = 'castle']
expected: FAIL
[<area>: Setting <javascript:alert(1)>.hash = 'castle']
expected: FAIL

View file

@ -1,5 +1,62 @@
[url-setters.any.html] [url-setters.any.html]
expected: CRASH [URL: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value]
expected: FAIL
[URL: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value]
expected: FAIL
[URL: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
expected: FAIL
[URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
expected: FAIL
[URL: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '/..//p']
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '//p']
expected: FAIL
[url-setters.any.worker.html] [url-setters.any.worker.html]
expected: CRASH [URL: Setting <http://example.net/path>.hostname = 'example.com:8080' : delimiter invalidates entire value]
expected: FAIL
[URL: Setting <http://example.net:8080/path>.hostname = 'example.com:' : delimiter invalidates entire value]
expected: FAIL
[URL: Setting <foo://somehost/some/path>.pathname = '' Non-special URLs can have their paths erased]
expected: FAIL
[URL: Setting <foo:///some/path>.pathname = '' Non-special URLs with an empty host can have their paths erased]
expected: FAIL
[URL: Setting <file://monkey/>.pathname = '\\\\' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <file:///unicorn>.pathname = '//\\/' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <file:///unicorn>.pathname = '//monkey/..//' File URLs and (back)slashes]
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '/.//p' Serialize /. in path]
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '/..//p']
expected: FAIL
[URL: Setting <non-spec:/>.pathname = '//p']
expected: FAIL