Changeset 211620 in webkit
- Timestamp:
- Feb 2, 2017 10:20:56 PM (7 years ago)
- Location:
- trunk/LayoutTests/imported/w3c
- Files:
-
- 2 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r211600 r211620 1 2017-02-02 Alex Christensen <achristensen@webkit.org> 2 3 Update URL web platform tests 4 https://bugs.webkit.org/show_bug.cgi?id=167777 5 6 Reviewed by Ryosuke Niwa. 7 8 * web-platform-tests/url/a-element-expected.txt: 9 * web-platform-tests/url/a-element-origin-expected.txt: 10 * web-platform-tests/url/a-element-origin-xhtml-expected.txt: 11 * web-platform-tests/url/a-element-origin-xhtml.xhtml: 12 * web-platform-tests/url/a-element-origin.html: 13 * web-platform-tests/url/a-element-xhtml-expected.txt: 14 * web-platform-tests/url/a-element-xhtml.xhtml: 15 * web-platform-tests/url/a-element.html: 16 * web-platform-tests/url/setters_tests.json: 17 * web-platform-tests/url/url-constructor-expected.txt: 18 * web-platform-tests/url/url-origin-expected.txt: 19 * web-platform-tests/url/url-setters-expected.txt: 20 * web-platform-tests/url/urlencoded-parser-expected.txt: Added. 21 * web-platform-tests/url/urlencoded-parser.html: Added. 22 * web-platform-tests/url/urlsearchparams-constructor-expected.txt: 23 * web-platform-tests/url/urlsearchparams-constructor.html: 24 * web-platform-tests/url/urlsearchparams-sort-expected.txt: 25 * web-platform-tests/url/urlsearchparams-sort.html: 26 * web-platform-tests/url/urltestdata.json: 27 1 28 2017-02-02 Chris Dumez <cdumez@apple.com> 2 29 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-expected.txt
r210823 r211620 44 44 PASS Parsing: <::> against <http://example.org/foo/bar> 45 45 PASS Parsing: <::23> against <http://example.org/foo/bar> 46 FAIL Parsing: <foo://> against <http://example.org/foo/bar> assert_equals: href expected "foo:///" but got "foo://" 46 PASS Parsing: <foo://> against <http://example.org/foo/bar> 47 47 PASS Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> 48 48 PASS Parsing: <http::@c:29> against <http://example.org/foo/bar> … … 262 262 PASS Parsing: <http://zyx.com> against <http://other.com/> 263 263 PASS Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> 264 PASS Parsing: <https://�> against <about:blank> 265 PASS Parsing: <https://%EF%BF%BD> against <about:blank> 264 266 PASS Parsing: <http://Go.com> against <http://other.com/> 265 267 PASS Parsing: <http://%41.com> against <http://other.com/> … … 324 326 PASS Parsing: <javascript:/../> against <about:blank> 325 327 PASS Parsing: <mailto:/../> against <about:blank> 326 FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: href expected "sc://xn--ida.test/" but got "sc://%C3%B1.test/" 328 PASS Parsing: <sc://ñ.test/> against <about:blank> 329 PASS Parsing: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> 330 FAIL Parsing: <sc://\0/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 331 FAIL Parsing: <sc:// /> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 332 FAIL Parsing: <sc://%/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 333 PASS Parsing: <sc://@/> against <about:blank> 334 PASS Parsing: <sc://te@s:t@/> against <about:blank> 335 PASS Parsing: <sc://:/> against <about:blank> 336 PASS Parsing: <sc://:12/> against <about:blank> 337 PASS Parsing: <sc://[/> against <about:blank> 338 FAIL Parsing: <sc://\/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 339 FAIL Parsing: <sc://]/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 340 PASS Parsing: <x> against <sc://ñ> 327 341 PASS Parsing: <sc:\../> against <about:blank> 328 342 PASS Parsing: <sc::a@example.net> against <about:blank> 343 PASS Parsing: <ftp://example.com%80/> against <about:blank> 344 PASS Parsing: <ftp://example.com%A0/> against <about:blank> 345 PASS Parsing: <https://example.com%80/> against <about:blank> 346 PASS Parsing: <https://example.com%A0/> against <about:blank> 347 PASS Parsing: <ftp://%e2%98%83> against <about:blank> 348 PASS Parsing: <https://%e2%98%83> against <about:blank> 329 349 PASS Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 330 350 PASS Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 357 377 FAIL Parsing: <http://256.256.256.256> against <http://other.com/> assert_unreached: Expected URL to fail parsing Reached unreachable code 358 378 PASS Parsing: <http://256.256.256.256.256> against <http://other.com/> 379 PASS Parsing: <file:///C%3A/> against <about:blank> 380 PASS Parsing: <file:///C%7C/> against <about:blank> 359 381 PASS Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> 360 382 FAIL Parsing: <..> against <file:///C:/> assert_equals: href expected "file:///C:/" but got "file:///" … … 366 388 PASS Parsing: <..> against <file:///1:/> 367 389 PASS Parsing: <http://[1:0::]> against <http://example.net/> 390 FAIL Parsing: <http://?> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 391 FAIL Parsing: <http://#> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 392 PASS Parsing: <sc://ñ> against <about:blank> 393 PASS Parsing: <sc://ñ?x> against <about:blank> 394 PASS Parsing: <sc://ñ#x> against <about:blank> 395 PASS Parsing: <#x> against <sc://ñ> 396 PASS Parsing: <?x> against <sc://ñ> 397 PASS Parsing: <sc://?> against <about:blank> 398 PASS Parsing: <sc://#> against <about:blank> 399 FAIL Parsing: <///> against <sc://x/> assert_equals: href expected "sc:///" but got "///" 400 FAIL Parsing: <////> against <sc://x/> assert_equals: href expected "sc:////" but got "////" 401 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/" 402 PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> 403 PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank> 404 PASS Parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> 405 PASS Parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> 406 PASS Parsing: <rsync://foo@host:911/sup> against <about:blank> 407 PASS Parsing: <git://github.com/foo/bar.git> against <about:blank> 408 PASS Parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank> 409 PASS Parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> 410 PASS Parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> 411 PASS Parsing: <git+https://github.com/foo/bar> against <about:blank> 412 PASS Parsing: <urn:ietf:rfc:2648> against <about:blank> 413 PASS Parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank> 368 414 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-expected.txt
r210823 r211620 246 246 FAIL Parsing origin: <mailto:/../> against <about:blank> assert_equals: origin expected "null" but got "mailto://" 247 247 FAIL Parsing origin: <sc://ñ.test/> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1.test" 248 FAIL Parsing origin: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> assert_equals: origin expected "null" but got "sc://%1f!\"$&'()*+,-.;<=>^_`{|}~" 249 FAIL Parsing origin: <x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 248 250 FAIL Parsing origin: <sc:\../> against <about:blank> assert_equals: origin expected "null" but got "sc://" 249 251 FAIL Parsing origin: <sc::a@example.net> against <about:blank> assert_equals: origin expected "null" but got "sc://" 252 FAIL Parsing origin: <ftp://%e2%98%83> against <about:blank> assert_equals: origin expected "ftp://☃" but got "ftp://xn--n3h" 253 FAIL Parsing origin: <https://%e2%98%83> against <about:blank> assert_equals: origin expected "https://☃" but got "https://xn--n3h" 250 254 PASS Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 251 255 PASS Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 274 278 PASS Parsing origin: <http://256.256.256.256.256> against <http://other.com/> 275 279 PASS Parsing origin: <http://[1:0::]> against <http://example.net/> 280 FAIL Parsing origin: <sc://ñ> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 281 FAIL Parsing origin: <sc://ñ?x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 282 FAIL Parsing origin: <sc://ñ#x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 283 FAIL Parsing origin: <#x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 284 FAIL Parsing origin: <?x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 285 FAIL Parsing origin: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> assert_equals: origin expected "null" but got "tftp://foobar.com" 286 FAIL Parsing origin: <telnet://user:pass@foobar.com:23/> against <about:blank> assert_equals: origin expected "null" but got "telnet://foobar.com:23" 287 FAIL Parsing origin: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> assert_equals: origin expected "null" but got "ut2004://10.10.10.10:7777" 288 FAIL Parsing origin: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> assert_equals: origin expected "null" but got "redis://somehost:6379" 289 FAIL Parsing origin: <rsync://foo@host:911/sup> against <about:blank> assert_equals: origin expected "null" but got "rsync://host:911" 290 FAIL Parsing origin: <git://github.com/foo/bar.git> against <about:blank> assert_equals: origin expected "null" but got "git://github.com" 291 FAIL Parsing origin: <irc://myserver.com:6999/channel?passwd> against <about:blank> assert_equals: origin expected "null" but got "irc://myserver.com:6999" 292 FAIL Parsing origin: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> assert_equals: origin expected "null" but got "dns://fw.example.org:9999" 293 FAIL Parsing origin: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> assert_equals: origin expected "null" but got "ldap://localhost:389" 294 FAIL Parsing origin: <git+https://github.com/foo/bar> against <about:blank> assert_equals: origin expected "null" but got "git+https://github.com" 295 FAIL Parsing origin: <urn:ietf:rfc:2648> against <about:blank> assert_equals: origin expected "null" but got "urn://" 296 FAIL Parsing origin: <tag:joe@example.org,2001:foo/bar> against <about:blank> assert_equals: origin expected "null" but got "tag://" 276 297 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-xhtml-expected.txt
r210823 r211620 246 246 FAIL Parsing origin: <mailto:/../> against <about:blank> assert_equals: origin expected "null" but got "mailto://" 247 247 FAIL Parsing origin: <sc://ñ.test/> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1.test" 248 FAIL Parsing origin: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> assert_equals: origin expected "null" but got "sc://%1f!\"$&'()*+,-.;<=>^_`{|}~" 249 FAIL Parsing origin: <x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 248 250 FAIL Parsing origin: <sc:\../> against <about:blank> assert_equals: origin expected "null" but got "sc://" 249 251 FAIL Parsing origin: <sc::a@example.net> against <about:blank> assert_equals: origin expected "null" but got "sc://" 252 FAIL Parsing origin: <ftp://%e2%98%83> against <about:blank> assert_equals: origin expected "ftp://☃" but got "ftp://xn--n3h" 253 FAIL Parsing origin: <https://%e2%98%83> against <about:blank> assert_equals: origin expected "https://☃" but got "https://xn--n3h" 250 254 PASS Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 251 255 PASS Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 274 278 PASS Parsing origin: <http://256.256.256.256.256> against <http://other.com/> 275 279 PASS Parsing origin: <http://[1:0::]> against <http://example.net/> 280 FAIL Parsing origin: <sc://ñ> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 281 FAIL Parsing origin: <sc://ñ?x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 282 FAIL Parsing origin: <sc://ñ#x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 283 FAIL Parsing origin: <#x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 284 FAIL Parsing origin: <?x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 285 FAIL Parsing origin: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> assert_equals: origin expected "null" but got "tftp://foobar.com" 286 FAIL Parsing origin: <telnet://user:pass@foobar.com:23/> against <about:blank> assert_equals: origin expected "null" but got "telnet://foobar.com:23" 287 FAIL Parsing origin: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> assert_equals: origin expected "null" but got "ut2004://10.10.10.10:7777" 288 FAIL Parsing origin: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> assert_equals: origin expected "null" but got "redis://somehost:6379" 289 FAIL Parsing origin: <rsync://foo@host:911/sup> against <about:blank> assert_equals: origin expected "null" but got "rsync://host:911" 290 FAIL Parsing origin: <git://github.com/foo/bar.git> against <about:blank> assert_equals: origin expected "null" but got "git://github.com" 291 FAIL Parsing origin: <irc://myserver.com:6999/channel?passwd> against <about:blank> assert_equals: origin expected "null" but got "irc://myserver.com:6999" 292 FAIL Parsing origin: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> assert_equals: origin expected "null" but got "dns://fw.example.org:9999" 293 FAIL Parsing origin: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> assert_equals: origin expected "null" but got "ldap://localhost:389" 294 FAIL Parsing origin: <git+https://github.com/foo/bar> against <about:blank> assert_equals: origin expected "null" but got "git+https://github.com" 295 FAIL Parsing origin: <urn:ietf:rfc:2648> against <about:blank> assert_equals: origin expected "null" but got "urn://" 296 FAIL Parsing origin: <tag:joe@example.org,2001:foo/bar> against <about:blank> assert_equals: origin expected "null" but got "tag://" 276 297 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-xhtml.xhtml
r210823 r211620 13 13 </body> 14 14 </html> 15 <!-- Other dependencies: urltestdata.json-->15 <!-- Other dependencies: urltestdata.json --> -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin.html
r210823 r211620 6 6 <div id=log></div> 7 7 <script src=a-element-origin.js></script> 8 <!-- Other dependencies: urltestdata.json-->8 <!-- Other dependencies: urltestdata.json --> -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml-expected.txt
r210823 r211620 44 44 PASS Parsing: <::> against <http://example.org/foo/bar> 45 45 PASS Parsing: <::23> against <http://example.org/foo/bar> 46 FAIL Parsing: <foo://> against <http://example.org/foo/bar> assert_equals: href expected "foo:///" but got "foo://" 46 PASS Parsing: <foo://> against <http://example.org/foo/bar> 47 47 PASS Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> 48 48 PASS Parsing: <http::@c:29> against <http://example.org/foo/bar> … … 262 262 PASS Parsing: <http://zyx.com> against <http://other.com/> 263 263 PASS Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> 264 PASS Parsing: <https://�> against <about:blank> 265 PASS Parsing: <https://%EF%BF%BD> against <about:blank> 264 266 PASS Parsing: <http://Go.com> against <http://other.com/> 265 267 PASS Parsing: <http://%41.com> against <http://other.com/> … … 324 326 PASS Parsing: <javascript:/../> against <about:blank> 325 327 PASS Parsing: <mailto:/../> against <about:blank> 326 FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: href expected "sc://xn--ida.test/" but got "sc://%C3%B1.test/" 328 PASS Parsing: <sc://ñ.test/> against <about:blank> 329 PASS Parsing: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> 330 FAIL Parsing: <sc://\0/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 331 FAIL Parsing: <sc:// /> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 332 FAIL Parsing: <sc://%/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 333 PASS Parsing: <sc://@/> against <about:blank> 334 PASS Parsing: <sc://te@s:t@/> against <about:blank> 335 PASS Parsing: <sc://:/> against <about:blank> 336 PASS Parsing: <sc://:12/> against <about:blank> 337 PASS Parsing: <sc://[/> against <about:blank> 338 FAIL Parsing: <sc://\/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 339 FAIL Parsing: <sc://]/> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 340 PASS Parsing: <x> against <sc://ñ> 327 341 PASS Parsing: <sc:\../> against <about:blank> 328 342 PASS Parsing: <sc::a@example.net> against <about:blank> 343 PASS Parsing: <ftp://example.com%80/> against <about:blank> 344 PASS Parsing: <ftp://example.com%A0/> against <about:blank> 345 PASS Parsing: <https://example.com%80/> against <about:blank> 346 PASS Parsing: <https://example.com%A0/> against <about:blank> 347 PASS Parsing: <ftp://%e2%98%83> against <about:blank> 348 PASS Parsing: <https://%e2%98%83> against <about:blank> 329 349 PASS Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 330 350 PASS Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 357 377 FAIL Parsing: <http://256.256.256.256> against <http://other.com/> assert_unreached: Expected URL to fail parsing Reached unreachable code 358 378 PASS Parsing: <http://256.256.256.256.256> against <http://other.com/> 379 PASS Parsing: <file:///C%3A/> against <about:blank> 380 PASS Parsing: <file:///C%7C/> against <about:blank> 359 381 PASS Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> 360 382 FAIL Parsing: <..> against <file:///C:/> assert_equals: href expected "file:///C:/" but got "file:///" … … 366 388 PASS Parsing: <..> against <file:///1:/> 367 389 PASS Parsing: <http://[1:0::]> against <http://example.net/> 390 FAIL Parsing: <http://?> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 391 FAIL Parsing: <http://#> against <about:blank> assert_unreached: Expected URL to fail parsing Reached unreachable code 392 PASS Parsing: <sc://ñ> against <about:blank> 393 PASS Parsing: <sc://ñ?x> against <about:blank> 394 PASS Parsing: <sc://ñ#x> against <about:blank> 395 PASS Parsing: <#x> against <sc://ñ> 396 PASS Parsing: <?x> against <sc://ñ> 397 PASS Parsing: <sc://?> against <about:blank> 398 PASS Parsing: <sc://#> against <about:blank> 399 FAIL Parsing: <///> against <sc://x/> assert_equals: href expected "sc:///" but got "///" 400 FAIL Parsing: <////> against <sc://x/> assert_equals: href expected "sc:////" but got "////" 401 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/" 402 PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> 403 PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank> 404 PASS Parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> 405 PASS Parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> 406 PASS Parsing: <rsync://foo@host:911/sup> against <about:blank> 407 PASS Parsing: <git://github.com/foo/bar.git> against <about:blank> 408 PASS Parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank> 409 PASS Parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> 410 PASS Parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> 411 PASS Parsing: <git+https://github.com/foo/bar> against <about:blank> 412 PASS Parsing: <urn:ietf:rfc:2648> against <about:blank> 413 PASS Parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank> 368 414 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml.xhtml
r210823 r211620 13 13 </body> 14 14 </html> 15 <!-- Other dependencies: urltestdata.json-->15 <!-- Other dependencies: urltestdata.json --> -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element.html
r210823 r211620 6 6 <div id=log></div> 7 7 <script src=a-element.js></script> 8 <!-- Other dependencies: urltestdata.json-->8 <!-- Other dependencies: urltestdata.json --> -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/setters_tests.json
r210823 r211620 28 28 "new_value": "", 29 29 "expected": { 30 "href": "a://example.net /",30 "href": "a://example.net", 31 31 "protocol": "a:" 32 32 } … … 36 36 "new_value": "b", 37 37 "expected": { 38 "href": "b://example.net /",38 "href": "b://example.net", 39 39 "protocol": "b:" 40 40 } … … 45 45 "new_value": "B", 46 46 "expected": { 47 "href": "b://example.net /",47 "href": "b://example.net", 48 48 "protocol": "b:" 49 49 } … … 54 54 "new_value": "é", 55 55 "expected": { 56 "href": "a://example.net /",56 "href": "a://example.net", 57 57 "protocol": "a:" 58 58 } … … 63 63 "new_value": "0b", 64 64 "expected": { 65 "href": "a://example.net /",65 "href": "a://example.net", 66 66 "protocol": "a:" 67 67 } … … 72 72 "new_value": "+b", 73 73 "expected": { 74 "href": "a://example.net /",74 "href": "a://example.net", 75 75 "protocol": "a:" 76 76 } … … 80 80 "new_value": "bC0+-.", 81 81 "expected": { 82 "href": "bc0+-.://example.net /",82 "href": "bc0+-.://example.net", 83 83 "protocol": "bc0+-.:" 84 84 } … … 89 89 "new_value": "b,c", 90 90 "expected": { 91 "href": "a://example.net /",91 "href": "a://example.net", 92 92 "protocol": "a:" 93 93 } … … 98 98 "new_value": "bé", 99 99 "expected": { 100 "href": "a://example.net /",100 "href": "a://example.net", 101 101 "protocol": "a:" 102 102 } … … 141 141 "new_value": "http", 142 142 "expected": { 143 "href": "ssh://me@example.net /",143 "href": "ssh://me@example.net", 144 144 "protocol": "ssh:" 145 145 } … … 149 149 "new_value": "gopher", 150 150 "expected": { 151 "href": "ssh://me@example.net /",151 "href": "ssh://me@example.net", 152 152 "protocol": "ssh:" 153 153 } … … 157 157 "new_value": "file", 158 158 "expected": { 159 "href": "ssh://me@example.net /",159 "href": "ssh://me@example.net", 160 160 "protocol": "ssh:" 161 161 } … … 347 347 ], 348 348 "host": [ 349 { 350 "comment": "Non-special scheme", 351 "href": "sc://x/", 352 "new_value": "\u0000", 353 "expected": { 354 "href": "sc://x/", 355 "host": "x", 356 "hostname": "x" 357 } 358 }, 359 { 360 "href": "sc://x/", 361 "new_value": "\u0009", 362 "expected": { 363 "href": "sc:///", 364 "host": "", 365 "hostname": "" 366 } 367 }, 368 { 369 "href": "sc://x/", 370 "new_value": "\u000A", 371 "expected": { 372 "href": "sc:///", 373 "host": "", 374 "hostname": "" 375 } 376 }, 377 { 378 "href": "sc://x/", 379 "new_value": "\u000D", 380 "expected": { 381 "href": "sc:///", 382 "host": "", 383 "hostname": "" 384 } 385 }, 386 { 387 "href": "sc://x/", 388 "new_value": " ", 389 "expected": { 390 "href": "sc://x/", 391 "host": "x", 392 "hostname": "x" 393 } 394 }, 395 { 396 "href": "sc://x/", 397 "new_value": "#", 398 "expected": { 399 "href": "sc:///", 400 "host": "", 401 "hostname": "" 402 } 403 }, 404 { 405 "href": "sc://x/", 406 "new_value": "/", 407 "expected": { 408 "href": "sc:///", 409 "host": "", 410 "hostname": "" 411 } 412 }, 413 { 414 "href": "sc://x/", 415 "new_value": "?", 416 "expected": { 417 "href": "sc:///", 418 "host": "", 419 "hostname": "" 420 } 421 }, 422 { 423 "href": "sc://x/", 424 "new_value": "@", 425 "expected": { 426 "href": "sc://x/", 427 "host": "x", 428 "hostname": "x" 429 } 430 }, 349 431 { 350 432 "comment": "Cannot-be-a-base means no host", … … 568 650 }, 569 651 { 570 "comment": "\\ is not a delimiter for non-special schemes, and it’s invalid in a domain",652 "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts", 571 653 "href": "view-source+http://example.net/path", 572 654 "new_value": "example.com\\stuff", … … 682 764 "hostname": [ 683 765 { 766 "comment": "Non-special scheme", 767 "href": "sc://x/", 768 "new_value": "\u0000", 769 "expected": { 770 "href": "sc://x/", 771 "host": "x", 772 "hostname": "x" 773 } 774 }, 775 { 776 "href": "sc://x/", 777 "new_value": "\u0009", 778 "expected": { 779 "href": "sc:///", 780 "host": "", 781 "hostname": "" 782 } 783 }, 784 { 785 "href": "sc://x/", 786 "new_value": "\u000A", 787 "expected": { 788 "href": "sc:///", 789 "host": "", 790 "hostname": "" 791 } 792 }, 793 { 794 "href": "sc://x/", 795 "new_value": "\u000D", 796 "expected": { 797 "href": "sc:///", 798 "host": "", 799 "hostname": "" 800 } 801 }, 802 { 803 "href": "sc://x/", 804 "new_value": " ", 805 "expected": { 806 "href": "sc://x/", 807 "host": "x", 808 "hostname": "x" 809 } 810 }, 811 { 812 "href": "sc://x/", 813 "new_value": "#", 814 "expected": { 815 "href": "sc:///", 816 "host": "", 817 "hostname": "" 818 } 819 }, 820 { 821 "href": "sc://x/", 822 "new_value": "/", 823 "expected": { 824 "href": "sc:///", 825 "host": "", 826 "hostname": "" 827 } 828 }, 829 { 830 "href": "sc://x/", 831 "new_value": "?", 832 "expected": { 833 "href": "sc:///", 834 "host": "", 835 "hostname": "" 836 } 837 }, 838 { 839 "href": "sc://x/", 840 "new_value": "@", 841 "expected": { 842 "href": "sc://x/", 843 "host": "x", 844 "hostname": "x" 845 } 846 }, 847 { 684 848 "comment": "Cannot-be-a-base means no host", 685 849 "href": "mailto:me@example.net", … … 825 989 }, 826 990 { 827 "comment": "\\ is not a delimiter for non-special schemes, and it’s invalid in a domain",991 "comment": "\\ is not a delimiter for non-special schemes, but still forbidden in hosts", 828 992 "href": "view-source+http://example.net/path", 829 993 "new_value": "example.com\\stuff", … … 1115 1279 "pathname": "/%3F" 1116 1280 } 1281 }, 1282 { 1283 "comment": "# needs to be encoded", 1284 "href": "http://example.net", 1285 "new_value": "#", 1286 "expected": { 1287 "href": "http://example.net/%23", 1288 "pathname": "/%23" 1289 } 1290 }, 1291 { 1292 "comment": "? needs to be encoded, non-special scheme", 1293 "href": "sc://example.net", 1294 "new_value": "?", 1295 "expected": { 1296 "href": "sc://example.net/%3F", 1297 "pathname": "/%3F" 1298 } 1299 }, 1300 { 1301 "comment": "# needs to be encoded, non-special scheme", 1302 "href": "sc://example.net", 1303 "new_value": "#", 1304 "expected": { 1305 "href": "sc://example.net/%23", 1306 "pathname": "/%23" 1307 } 1117 1308 } 1118 1309 ], -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-constructor-expected.txt
r210823 r211620 48 48 PASS Parsing: <::> against <http://example.org/foo/bar> 49 49 PASS Parsing: <::23> against <http://example.org/foo/bar> 50 FAIL Parsing: <foo://> against <http://example.org/foo/bar> assert_equals: href expected "foo:///" but got "foo://" 50 PASS Parsing: <foo://> against <http://example.org/foo/bar> 51 51 PASS Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> 52 52 PASS Parsing: <http::@c:29> against <http://example.org/foo/bar> … … 266 266 PASS Parsing: <http://zyx.com> against <http://other.com/> 267 267 PASS Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> 268 PASS Parsing: <https://�> against <about:blank> 269 PASS Parsing: <https://%EF%BF%BD> against <about:blank> 268 270 PASS Parsing: <http://Go.com> against <http://other.com/> 269 271 PASS Parsing: <http://%41.com> against <http://other.com/> … … 329 331 PASS Parsing: <javascript:/../> against <about:blank> 330 332 PASS Parsing: <mailto:/../> against <about:blank> 331 FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: href expected "sc://xn--ida.test/" but got "sc://%C3%B1.test/" 333 PASS Parsing: <sc://ñ.test/> against <about:blank> 334 PASS Parsing: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> 335 FAIL Parsing: <sc://\0/> against <about:blank> assert_throws: function "function () { 336 bURL(expected.input, expected.bas..." did not throw 337 FAIL Parsing: <sc:// /> against <about:blank> assert_throws: function "function () { 338 bURL(expected.input, expected.bas..." did not throw 339 FAIL Parsing: <sc://%/> against <about:blank> assert_throws: function "function () { 340 bURL(expected.input, expected.bas..." did not throw 341 PASS Parsing: <sc://@/> against <about:blank> 342 PASS Parsing: <sc://te@s:t@/> against <about:blank> 343 PASS Parsing: <sc://:/> against <about:blank> 344 PASS Parsing: <sc://:12/> against <about:blank> 345 PASS Parsing: <sc://[/> against <about:blank> 346 FAIL Parsing: <sc://\/> against <about:blank> assert_throws: function "function () { 347 bURL(expected.input, expected.bas..." did not throw 348 FAIL Parsing: <sc://]/> against <about:blank> assert_throws: function "function () { 349 bURL(expected.input, expected.bas..." did not throw 350 PASS Parsing: <x> against <sc://ñ> 332 351 PASS Parsing: <sc:\../> against <about:blank> 333 352 PASS Parsing: <sc::a@example.net> against <about:blank> 353 PASS Parsing: <ftp://example.com%80/> against <about:blank> 354 PASS Parsing: <ftp://example.com%A0/> against <about:blank> 355 PASS Parsing: <https://example.com%80/> against <about:blank> 356 PASS Parsing: <https://example.com%A0/> against <about:blank> 357 PASS Parsing: <ftp://%e2%98%83> against <about:blank> 358 PASS Parsing: <https://%e2%98%83> against <about:blank> 334 359 PASS Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 335 360 PASS Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 367 392 bURL(expected.input, expected.bas..." did not throw 368 393 PASS Parsing: <http://256.256.256.256.256> against <http://other.com/> 394 PASS Parsing: <file:///C%3A/> against <about:blank> 395 PASS Parsing: <file:///C%7C/> against <about:blank> 369 396 PASS Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> 370 397 FAIL Parsing: <..> against <file:///C:/> assert_equals: href expected "file:///C:/" but got "file:///" … … 376 403 PASS Parsing: <..> against <file:///1:/> 377 404 PASS Parsing: <http://[1:0::]> against <http://example.net/> 405 FAIL Parsing: <http://?> against <about:blank> assert_throws: function "function () { 406 bURL(expected.input, expected.bas..." did not throw 407 FAIL Parsing: <http://#> against <about:blank> assert_throws: function "function () { 408 bURL(expected.input, expected.bas..." did not throw 409 PASS Parsing: <sc://ñ> against <about:blank> 410 PASS Parsing: <sc://ñ?x> against <about:blank> 411 PASS Parsing: <sc://ñ#x> against <about:blank> 412 PASS Parsing: <#x> against <sc://ñ> 413 PASS Parsing: <?x> against <sc://ñ> 414 PASS Parsing: <sc://?> against <about:blank> 415 PASS Parsing: <sc://#> against <about:blank> 416 FAIL Parsing: <///> against <sc://x/> Type error 417 FAIL Parsing: <////> against <sc://x/> Type error 418 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/" 419 PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> 420 PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank> 421 PASS Parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> 422 PASS Parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> 423 PASS Parsing: <rsync://foo@host:911/sup> against <about:blank> 424 PASS Parsing: <git://github.com/foo/bar.git> against <about:blank> 425 PASS Parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank> 426 PASS Parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> 427 PASS Parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> 428 PASS Parsing: <git+https://github.com/foo/bar> against <about:blank> 429 PASS Parsing: <urn:ietf:rfc:2648> against <about:blank> 430 PASS Parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank> 378 431 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-origin-expected.txt
r210823 r211620 246 246 FAIL Origin parsing: <mailto:/../> against <about:blank> assert_equals: origin expected "null" but got "mailto://" 247 247 FAIL Origin parsing: <sc://ñ.test/> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1.test" 248 FAIL Origin parsing: <sc://!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank> assert_equals: origin expected "null" but got "sc://%1f!\"$&'()*+,-.;<=>^_`{|}~" 249 FAIL Origin parsing: <x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 248 250 FAIL Origin parsing: <sc:\../> against <about:blank> assert_equals: origin expected "null" but got "sc://" 249 251 FAIL Origin parsing: <sc::a@example.net> against <about:blank> assert_equals: origin expected "null" but got "sc://" 252 FAIL Origin parsing: <ftp://%e2%98%83> against <about:blank> assert_equals: origin expected "ftp://☃" but got "ftp://xn--n3h" 253 FAIL Origin parsing: <https://%e2%98%83> against <about:blank> assert_equals: origin expected "https://☃" but got "https://xn--n3h" 250 254 PASS Origin parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> 251 255 PASS Origin parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> … … 274 278 PASS Origin parsing: <http://256.256.256.256.256> against <http://other.com/> 275 279 PASS Origin parsing: <http://[1:0::]> against <http://example.net/> 280 FAIL Origin parsing: <sc://ñ> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 281 FAIL Origin parsing: <sc://ñ?x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 282 FAIL Origin parsing: <sc://ñ#x> against <about:blank> assert_equals: origin expected "null" but got "sc://%c3%b1" 283 FAIL Origin parsing: <#x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 284 FAIL Origin parsing: <?x> against <sc://ñ> assert_equals: origin expected "null" but got "sc://%c3%b1" 285 FAIL Origin parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> assert_equals: origin expected "null" but got "tftp://foobar.com" 286 FAIL Origin parsing: <telnet://user:pass@foobar.com:23/> against <about:blank> assert_equals: origin expected "null" but got "telnet://foobar.com:23" 287 FAIL Origin parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> assert_equals: origin expected "null" but got "ut2004://10.10.10.10:7777" 288 FAIL Origin parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> assert_equals: origin expected "null" but got "redis://somehost:6379" 289 FAIL Origin parsing: <rsync://foo@host:911/sup> against <about:blank> assert_equals: origin expected "null" but got "rsync://host:911" 290 FAIL Origin parsing: <git://github.com/foo/bar.git> against <about:blank> assert_equals: origin expected "null" but got "git://github.com" 291 FAIL Origin parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank> assert_equals: origin expected "null" but got "irc://myserver.com:6999" 292 FAIL Origin parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> assert_equals: origin expected "null" but got "dns://fw.example.org:9999" 293 FAIL Origin parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> assert_equals: origin expected "null" but got "ldap://localhost:389" 294 FAIL Origin parsing: <git+https://github.com/foo/bar> against <about:blank> assert_equals: origin expected "null" but got "git+https://github.com" 295 FAIL Origin parsing: <urn:ietf:rfc:2648> against <about:blank> assert_equals: origin expected "null" but got "urn://" 296 FAIL Origin parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank> assert_equals: origin expected "null" but got "tag://" 276 297 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-setters-expected.txt
r210823 r211620 1 1 2 2 PASS Loading data… 3 FAIL URL: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. assert_equals: expected "a://example.net/" but got "a://example.net" 4 FAIL <a>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. assert_equals: expected "a://example.net/" but got "a://example.net" 5 FAIL <area>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. assert_equals: expected "a://example.net/" but got "a://example.net" 6 FAIL URL: Setting <a://example.net>.protocol = 'b' assert_equals: expected "b://example.net/" but got "b://example.net" 7 FAIL <a>: Setting <a://example.net>.protocol = 'b' assert_equals: expected "b://example.net/" but got "b://example.net" 8 FAIL <area>: Setting <a://example.net>.protocol = 'b' assert_equals: expected "b://example.net/" but got "b://example.net" 9 FAIL URL: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased assert_equals: expected "b://example.net/" but got "b://example.net" 10 FAIL <a>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased assert_equals: expected "b://example.net/" but got "b://example.net" 11 FAIL <area>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased assert_equals: expected "b://example.net/" but got "b://example.net" 12 FAIL URL: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 13 FAIL <a>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 14 FAIL <area>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 15 FAIL URL: Setting <a://example.net>.protocol = '0b' No leading digit assert_equals: expected "a://example.net/" but got "a://example.net" 16 FAIL <a>: Setting <a://example.net>.protocol = '0b' No leading digit assert_equals: expected "a://example.net/" but got "a://example.net" 17 FAIL <area>: Setting <a://example.net>.protocol = '0b' No leading digit assert_equals: expected "a://example.net/" but got "a://example.net" 18 FAIL URL: Setting <a://example.net>.protocol = '+b' No leading punctuation assert_equals: expected "a://example.net/" but got "a://example.net" 19 FAIL <a>: Setting <a://example.net>.protocol = '+b' No leading punctuation assert_equals: expected "a://example.net/" but got "a://example.net" 20 FAIL <area>: Setting <a://example.net>.protocol = '+b' No leading punctuation assert_equals: expected "a://example.net/" but got "a://example.net" 21 FAIL URL: Setting <a://example.net>.protocol = 'bC0+-.' assert_equals: expected "bc0+-.://example.net/" but got "bc0+-.://example.net" 22 FAIL <a>: Setting <a://example.net>.protocol = 'bC0+-.' assert_equals: expected "bc0+-.://example.net/" but got "bc0+-.://example.net" 23 FAIL <area>: Setting <a://example.net>.protocol = 'bC0+-.' assert_equals: expected "bc0+-.://example.net/" but got "bc0+-.://example.net" 24 FAIL URL: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable assert_equals: expected "a://example.net/" but got "a://example.net" 25 FAIL <a>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable assert_equals: expected "a://example.net/" but got "a://example.net" 26 FAIL <area>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable assert_equals: expected "a://example.net/" but got "a://example.net" 27 FAIL URL: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 28 FAIL <a>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 29 FAIL <area>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected assert_equals: expected "a://example.net/" but got "a://example.net" 3 PASS URL: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. 4 PASS <a>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. 5 PASS <area>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. 6 PASS URL: Setting <a://example.net>.protocol = 'b' 7 PASS <a>: Setting <a://example.net>.protocol = 'b' 8 PASS <area>: Setting <a://example.net>.protocol = 'b' 9 PASS URL: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased 10 PASS <a>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased 11 PASS <area>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased 12 PASS URL: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected 13 PASS <a>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected 14 PASS <area>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected 15 PASS URL: Setting <a://example.net>.protocol = '0b' No leading digit 16 PASS <a>: Setting <a://example.net>.protocol = '0b' No leading digit 17 PASS <area>: Setting <a://example.net>.protocol = '0b' No leading digit 18 PASS URL: Setting <a://example.net>.protocol = '+b' No leading punctuation 19 PASS <a>: Setting <a://example.net>.protocol = '+b' No leading punctuation 20 PASS <area>: Setting <a://example.net>.protocol = '+b' No leading punctuation 21 PASS URL: Setting <a://example.net>.protocol = 'bC0+-.' 22 PASS <a>: Setting <a://example.net>.protocol = 'bC0+-.' 23 PASS <area>: Setting <a://example.net>.protocol = 'bC0+-.' 24 PASS URL: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable 25 PASS <a>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable 26 PASS <area>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable 27 PASS URL: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected 28 PASS <a>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected 29 PASS <area>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected 30 30 FAIL URL: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special assert_equals: expected "http://example.net/" but got "b://example.net/" 31 31 FAIL <a>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special assert_equals: expected "http://example.net/" but got "b://example.net/" … … 40 40 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. assert_equals: expected "mailto:me@example.net" but got "http://me@example.net/" 41 41 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. assert_equals: expected "mailto:me@example.net" but got "http://me@example.net/" 42 FAIL URL: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net /" but got "http://me@example.net/"43 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net /" but got "http://me@example.net/"44 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net /" but got "http://me@example.net/"45 FAIL URL: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net /" but got "gopher://me@example.net/"46 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net /" but got "gopher://me@example.net/"47 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net /" but got "gopher://me@example.net/"48 FAIL URL: Setting <ssh://me@example.net>.protocol = 'file' assert_equals: expected "ssh://me@example.net/" but got "ssh://me@example.net" 49 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'file' assert_equals: expected "ssh://me@example.net /" but got "file://me@example.net"50 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'file' assert_equals: expected "ssh://me@example.net /" but got "file://me@example.net"42 FAIL URL: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net" but got "http://me@example.net/" 43 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net" but got "http://me@example.net/" 44 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special assert_equals: expected "ssh://me@example.net" but got "http://me@example.net/" 45 FAIL URL: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net" but got "gopher://me@example.net/" 46 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net" but got "gopher://me@example.net/" 47 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'gopher' assert_equals: expected "ssh://me@example.net" but got "gopher://me@example.net/" 48 PASS URL: Setting <ssh://me@example.net>.protocol = 'file' 49 FAIL <a>: Setting <ssh://me@example.net>.protocol = 'file' assert_equals: expected "ssh://me@example.net" but got "file://me@example.net" 50 FAIL <area>: Setting <ssh://me@example.net>.protocol = 'file' assert_equals: expected "ssh://me@example.net" but got "file://me@example.net" 51 51 FAIL URL: Setting <nonsense:///test>.protocol = 'https' assert_equals: expected "nonsense:///test" but got "https://test/" 52 52 FAIL <a>: Setting <nonsense:///test>.protocol = 'https' assert_equals: expected "nonsense:///test" but got "https://test/" … … 118 118 PASS <a>: Setting <http://example.net>.password = '%c3%89té' Bytes already percent-encoded are left as-is. 119 119 PASS <area>: Setting <http://example.net>.password = '%c3%89té' Bytes already percent-encoded are left as-is. 120 FAIL URL: Setting <sc://x/>.host = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 121 FAIL <a>: Setting <sc://x/>.host = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 122 FAIL <area>: Setting <sc://x/>.host = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 123 PASS URL: Setting <sc://x/>.host = ' ' 124 PASS <a>: Setting <sc://x/>.host = ' ' 125 PASS <area>: Setting <sc://x/>.host = ' ' 126 PASS URL: Setting <sc://x/>.host = ' 127 ' 128 PASS <a>: Setting <sc://x/>.host = ' 129 ' 130 PASS <area>: Setting <sc://x/>.host = ' 131 ' 132 PASS URL: Setting <sc://x/>.host = '\r' 133 PASS <a>: Setting <sc://x/>.host = '\r' 134 PASS <area>: Setting <sc://x/>.host = '\r' 135 FAIL URL: Setting <sc://x/>.host = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 136 FAIL <a>: Setting <sc://x/>.host = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 137 FAIL <area>: Setting <sc://x/>.host = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 138 FAIL URL: Setting <sc://x/>.host = '#' assert_equals: expected "sc:///" but got "sc://#/" 139 FAIL <a>: Setting <sc://x/>.host = '#' assert_equals: expected "sc:///" but got "sc://#/" 140 FAIL <area>: Setting <sc://x/>.host = '#' assert_equals: expected "sc:///" but got "sc://#/" 141 FAIL URL: Setting <sc://x/>.host = '/' assert_equals: expected "sc:///" but got "sc:////" 142 FAIL <a>: Setting <sc://x/>.host = '/' assert_equals: expected "sc:///" but got "sc:////" 143 FAIL <area>: Setting <sc://x/>.host = '/' assert_equals: expected "sc:///" but got "sc:////" 144 FAIL URL: Setting <sc://x/>.host = '?' assert_equals: expected "sc:///" but got "sc://?/" 145 FAIL <a>: Setting <sc://x/>.host = '?' assert_equals: expected "sc:///" but got "sc://?/" 146 FAIL <area>: Setting <sc://x/>.host = '?' assert_equals: expected "sc:///" but got "sc://?/" 147 PASS URL: Setting <sc://x/>.host = '@' 148 FAIL <a>: Setting <sc://x/>.host = '@' assert_equals: expected "sc://x/" but got "sc://@/" 149 FAIL <area>: Setting <sc://x/>.host = '@' assert_equals: expected "sc://x/" but got "sc://@/" 120 150 PASS URL: Setting <mailto:me@example.net>.host = 'example.com' Cannot-be-a-base means no host 121 151 PASS <a>: Setting <mailto:me@example.net>.host = 'example.com' Cannot-be-a-base means no host … … 181 211 PASS <a>: Setting <http://example.net/path>.host = 'example.com:8080\stuff' Stuff after a \ delimiter is ignored for special schemes 182 212 PASS <area>: Setting <http://example.net/path>.host = 'example.com:8080\stuff' Stuff after a \ delimiter is ignored for special schemes 183 FAIL URL: Setting <view-source+http://example.net/path>.host = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"184 FAIL <a>: Setting <view-source+http://example.net/path>.host = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"185 FAIL <area>: Setting <view-source+http://example.net/path>.host = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"213 FAIL URL: Setting <view-source+http://example.net/path>.host = 'example.com\stuff' \ is not a delimiter for non-special schemes, but still forbidden in hosts assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 214 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 assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 215 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 assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 186 216 PASS URL: 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 187 217 PASS <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 … … 214 244 FAIL <a>: Setting <http://example.net/>.host = '[::1.]' assert_equals: expected "http://example.net/" but got "http://[:0/" 215 245 FAIL <area>: Setting <http://example.net/>.host = '[::1.]' assert_equals: expected "http://example.net/" but got "http://[:0/" 246 FAIL URL: Setting <sc://x/>.hostname = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 247 FAIL <a>: Setting <sc://x/>.hostname = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 248 FAIL <area>: Setting <sc://x/>.hostname = '\0' Non-special scheme assert_equals: expected "sc://x/" but got "sc://%00/" 249 PASS URL: Setting <sc://x/>.hostname = ' ' 250 PASS <a>: Setting <sc://x/>.hostname = ' ' 251 PASS <area>: Setting <sc://x/>.hostname = ' ' 252 PASS URL: Setting <sc://x/>.hostname = ' 253 ' 254 PASS <a>: Setting <sc://x/>.hostname = ' 255 ' 256 PASS <area>: Setting <sc://x/>.hostname = ' 257 ' 258 PASS URL: Setting <sc://x/>.hostname = '\r' 259 PASS <a>: Setting <sc://x/>.hostname = '\r' 260 PASS <area>: Setting <sc://x/>.hostname = '\r' 261 FAIL URL: Setting <sc://x/>.hostname = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 262 FAIL <a>: Setting <sc://x/>.hostname = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 263 FAIL <area>: Setting <sc://x/>.hostname = ' ' assert_equals: expected "sc://x/" but got "sc:// /" 264 FAIL URL: Setting <sc://x/>.hostname = '#' assert_equals: expected "sc:///" but got "sc://#/" 265 FAIL <a>: Setting <sc://x/>.hostname = '#' assert_equals: expected "sc:///" but got "sc://#/" 266 FAIL <area>: Setting <sc://x/>.hostname = '#' assert_equals: expected "sc:///" but got "sc://#/" 267 FAIL URL: Setting <sc://x/>.hostname = '/' assert_equals: expected "sc:///" but got "sc://x/" 268 FAIL <a>: Setting <sc://x/>.hostname = '/' assert_equals: expected "sc:///" but got "sc://x/" 269 FAIL <area>: Setting <sc://x/>.hostname = '/' assert_equals: expected "sc:///" but got "sc://x/" 270 FAIL URL: Setting <sc://x/>.hostname = '?' assert_equals: expected "sc:///" but got "sc://?/" 271 FAIL <a>: Setting <sc://x/>.hostname = '?' assert_equals: expected "sc:///" but got "sc://?/" 272 FAIL <area>: Setting <sc://x/>.hostname = '?' assert_equals: expected "sc:///" but got "sc://?/" 273 PASS URL: Setting <sc://x/>.hostname = '@' 274 FAIL <a>: Setting <sc://x/>.hostname = '@' assert_equals: expected "sc://x/" but got "sc://@/" 275 FAIL <area>: Setting <sc://x/>.hostname = '@' assert_equals: expected "sc://x/" but got "sc://@/" 216 276 PASS URL: Setting <mailto:me@example.net>.hostname = 'example.com' Cannot-be-a-base means no host 217 277 PASS <a>: Setting <mailto:me@example.net>.hostname = 'example.com' Cannot-be-a-base means no host … … 256 316 FAIL <a>: Setting <http://example.net/path>.hostname = 'example.com\stuff' Stuff after a \ delimiter is ignored for special schemes assert_equals: expected "http://example.com/path" but got "http://example.com/stuff/path" 257 317 FAIL <area>: Setting <http://example.net/path>.hostname = 'example.com\stuff' Stuff after a \ delimiter is ignored for special schemes assert_equals: expected "http://example.com/path" but got "http://example.com/stuff/path" 258 FAIL URL: Setting <view-source+http://example.net/path>.hostname = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"259 FAIL <a>: Setting <view-source+http://example.net/path>.hostname = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"260 FAIL <area>: Setting <view-source+http://example.net/path>.hostname = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domainassert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path"318 FAIL URL: Setting <view-source+http://example.net/path>.hostname = 'example.com\stuff' \ is not a delimiter for non-special schemes, but still forbidden in hosts assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 319 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 assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 320 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 assert_equals: expected "view-source+http://example.net/path" but got "view-source+http://example.com\\stuff/path" 261 321 PASS URL: Setting <http://example.net/>.hostname = '[google.com]' Broken IPv6 262 322 FAIL <a>: Setting <http://example.net/>.hostname = '[google.com]' Broken IPv6 assert_equals: expected "http://example.net/" but got "http://[google.com]/" … … 346 406 PASS <a>: Setting <http://example.net>.pathname = '?' ? needs to be encoded 347 407 PASS <area>: Setting <http://example.net>.pathname = '?' ? needs to be encoded 408 PASS URL: Setting <http://example.net>.pathname = '#' # needs to be encoded 409 PASS <a>: Setting <http://example.net>.pathname = '#' # needs to be encoded 410 PASS <area>: Setting <http://example.net>.pathname = '#' # needs to be encoded 411 PASS URL: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme 412 PASS <a>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme 413 PASS <area>: Setting <sc://example.net>.pathname = '?' ? needs to be encoded, non-special scheme 414 PASS URL: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme 415 PASS <a>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme 416 PASS <area>: Setting <sc://example.net>.pathname = '#' # needs to be encoded, non-special scheme 348 417 PASS URL: Setting <https://example.net#nav>.search = 'lang=fr' 349 418 PASS <a>: Setting <https://example.net#nav>.search = 'lang=fr' -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/urlsearchparams-constructor-expected.txt
r210946 r211620 2 2 PASS Basic URLSearchParams construction 3 3 PASS URLSearchParams constructor, no arguments 4 FAIL URLSearchParams constructor, DOMException.prototype as argument assert_equals: expected "Error=" but got "INDEX_SIZE_ERR=1&DOMSTRING_SIZE_ERR=2&HIERARCHY_REQUEST_ERR=3&WRONG_DOCUMENT_ERR=4&INVALID_CHARACTER_ERR=5&NO_DATA_ALLOWED_ERR=6&NO_MODIFICATION_ALLOWED_ERR=7&NOT_FOUND_ERR=8&NOT_SUPPORTED_ERR=9&INUSE_ATTRIBUTE_ERR=10&INVALID_STATE_ERR=11&SYNTAX_ERR=12&INVALID_MODIFICATION_ERR=13&NAMESPACE_ERR=14&INVALID_ACCESS_ERR=15&VALIDATION_ERR=16&TYPE_MISMATCH_ERR=17&SECURITY_ERR=18&NETWORK_ERR=19&ABORT_ERR=20&URL_MISMATCH_ERR=21"A_EXCEEDED_ERR=22&TIMEOUT_ERR=23&INVALID_NODE_TYPE_ERR=24&DATA_CLONE_ERR=25" 4 PASS URLSearchParams constructor, DOMException.prototype as argument 5 5 PASS URLSearchParams constructor, empty string as argument 6 6 PASS URLSearchParams constructor, {} as argument … … 16 16 PASS Parse 💩 17 17 PASS Parse %f0%9f%92%a9 18 FAIL Construct with object with + assert_array_equals: property 0, expected " " but got "+" 18 PASS Constructor with sequence of sequences of strings 19 PASS Construct with object with + 19 20 PASS Construct with object with two keys 20 21 PASS Construct with array with two keys -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/urlsearchparams-constructor.html
r210823 r211620 25 25 test(() => { 26 26 params = new URLSearchParams(DOMException.prototype); 27 assert_equals(params.toString(), " Error=")27 assert_equals(params.toString(), "INDEX_SIZE_ERR=1&DOMSTRING_SIZE_ERR=2&HIERARCHY_REQUEST_ERR=3&WRONG_DOCUMENT_ERR=4&INVALID_CHARACTER_ERR=5&NO_DATA_ALLOWED_ERR=6&NO_MODIFICATION_ALLOWED_ERR=7&NOT_FOUND_ERR=8&NOT_SUPPORTED_ERR=9&INUSE_ATTRIBUTE_ERR=10&INVALID_STATE_ERR=11&SYNTAX_ERR=12&INVALID_MODIFICATION_ERR=13&NAMESPACE_ERR=14&INVALID_ACCESS_ERR=15&VALIDATION_ERR=16&TYPE_MISMATCH_ERR=17&SECURITY_ERR=18&NETWORK_ERR=19&ABORT_ERR=20&URL_MISMATCH_ERR=21"A_EXCEEDED_ERR=22&TIMEOUT_ERR=23&INVALID_NODE_TYPE_ERR=24&DATA_CLONE_ERR=25") 28 28 }, "URLSearchParams constructor, DOMException.prototype as argument") 29 29 … … 136 136 }, 'Parse %f0%9f%92%a9'); // Unicode Character 'PILE OF POO' (U+1F4A9) 137 137 138 ;[ 139 { "input": {"+": "%C2"}, "output": [[" ", "\uFFFD"]], "name": "object with +" }, 138 test(function() { 139 var params = new URLSearchParams([]); 140 assert_true(params != null, 'constructor returned non-null value.'); 141 params = new URLSearchParams([['a', 'b'], ['c', 'd']]); 142 assert_equals(params.get("a"), "b"); 143 assert_equals(params.get("c"), "d"); 144 assert_throws(new TypeError(), function() { new URLSearchParams([[1]]); }); 145 assert_throws(new TypeError(), function() { new URLSearchParams([[1,2,3]]); }); 146 }, "Constructor with sequence of sequences of strings"); 147 148 [ 149 { "input": {"+": "%C2"}, "output": [["+", "%C2"]], "name": "object with +" }, 140 150 { "input": {c: "x", a: "?"}, "output": [["c", "x"], ["a", "?"]], "name": "object with two keys" }, 141 151 { "input": [["c", "x"], ["a", "?"]], "output": [["c", "x"], ["a", "?"]], "name": "array with two keys" } -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/urlsearchparams-sort-expected.txt
r210915 r211620 8 8 PASS Parse and sort: é&e�&é 9 9 PASS URL parse and sort: é&e�&é 10 PASS Parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g 11 PASS URL parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g 10 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/urlsearchparams-sort.html
r210915 r211620 21 21 "input": "é&e\uFFFD&e\u0301", 22 22 "output": [["e\u0301", ""], ["e\uFFFD", ""], ["é", ""]] 23 }, 24 { 25 "input": "z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g", 26 "output": [["a", "a"], ["a", "b"], ["a", "c"], ["a", "d"], ["a", "e"], ["a", "f"], ["a", "g"], ["z", "z"], ["z", "y"], ["z", "x"], ["z", "w"], ["z", "v"], ["z", "u"], ["z", "t"]] 23 27 } 24 28 ].forEach((val) => { -
trunk/LayoutTests/imported/w3c/web-platform-tests/url/urltestdata.json
r210823 r211620 554 554 "input": "foo://", 555 555 "base": "http://example.org/foo/bar", 556 "href": "foo:// /",556 "href": "foo://", 557 557 "origin": "null", 558 558 "protocol": "foo:", … … 562 562 "hostname": "", 563 563 "port": "", 564 "pathname": " /",564 "pathname": "", 565 565 "search": "", 566 566 "hash": "" … … 3549 3549 "failure": true 3550 3550 }, 3551 "U+FFFD is disallowed", 3552 { 3553 "input": "https://\ufffd", 3554 "base": "about:blank", 3555 "failure": true 3556 }, 3557 { 3558 "input": "https://%EF%BF%BD", 3559 "base": "about:blank", 3560 "failure": true 3561 }, 3551 3562 "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.", 3552 3563 { … … 4257 4268 "hash": "" 4258 4269 }, 4259 "# unknown schemes and non-ASCII domains",4270 "# unknown schemes and their hosts", 4260 4271 { 4261 4272 "input": "sc://ñ.test/", 4262 4273 "base": "about:blank", 4263 "href": "sc:// xn--ida.test/",4274 "href": "sc://%C3%B1.test/", 4264 4275 "origin": "null", 4265 4276 "protocol": "sc:", 4266 4277 "username": "", 4267 4278 "password": "", 4268 "host": "xn--ida.test", 4269 "hostname": "xn--ida.test", 4270 "port": "", 4271 "pathname": "/", 4279 "host": "%C3%B1.test", 4280 "hostname": "%C3%B1.test", 4281 "port": "", 4282 "pathname": "/", 4283 "search": "", 4284 "hash": "" 4285 }, 4286 { 4287 "input": "sc://\u001F!\"$&'()*+,-.;<=>^_`{|}~/", 4288 "base": "about:blank", 4289 "href": "sc://%1F!\"$&'()*+,-.;<=>^_`{|}~/", 4290 "origin": "null", 4291 "protocol": "sc:", 4292 "username": "", 4293 "password": "", 4294 "host": "%1F!\"$&'()*+,-.;<=>^_`{|}~", 4295 "hostname": "%1F!\"$&'()*+,-.;<=>^_`{|}~", 4296 "port": "", 4297 "pathname": "/", 4298 "search": "", 4299 "hash": "" 4300 }, 4301 { 4302 "input": "sc://\u0000/", 4303 "base": "about:blank", 4304 "failure": true 4305 }, 4306 { 4307 "input": "sc:// /", 4308 "base": "about:blank", 4309 "failure": true 4310 }, 4311 { 4312 "input": "sc://%/", 4313 "base": "about:blank", 4314 "failure": true 4315 }, 4316 { 4317 "input": "sc://@/", 4318 "base": "about:blank", 4319 "failure": true 4320 }, 4321 { 4322 "input": "sc://te@s:t@/", 4323 "base": "about:blank", 4324 "failure": true 4325 }, 4326 { 4327 "input": "sc://:/", 4328 "base": "about:blank", 4329 "failure": true 4330 }, 4331 { 4332 "input": "sc://:12/", 4333 "base": "about:blank", 4334 "failure": true 4335 }, 4336 { 4337 "input": "sc://[/", 4338 "base": "about:blank", 4339 "failure": true 4340 }, 4341 { 4342 "input": "sc://\\/", 4343 "base": "about:blank", 4344 "failure": true 4345 }, 4346 { 4347 "input": "sc://]/", 4348 "base": "about:blank", 4349 "failure": true 4350 }, 4351 { 4352 "input": "x", 4353 "base": "sc://ñ", 4354 "href": "sc://%C3%B1/x", 4355 "origin": "null", 4356 "protocol": "sc:", 4357 "username": "", 4358 "password": "", 4359 "host": "%C3%B1", 4360 "hostname": "%C3%B1", 4361 "port": "", 4362 "pathname": "/x", 4272 4363 "search": "", 4273 4364 "hash": "" … … 4302 4393 "port": "", 4303 4394 "pathname": ":a@example.net", 4395 "search": "", 4396 "hash": "" 4397 }, 4398 "# Hosts and percent-encoding", 4399 { 4400 "input": "ftp://example.com%80/", 4401 "base": "about:blank", 4402 "failure": true 4403 }, 4404 { 4405 "input": "ftp://example.com%A0/", 4406 "base": "about:blank", 4407 "failure": true 4408 }, 4409 { 4410 "input": "https://example.com%80/", 4411 "base": "about:blank", 4412 "failure": true 4413 }, 4414 { 4415 "input": "https://example.com%A0/", 4416 "base": "about:blank", 4417 "failure": true 4418 }, 4419 { 4420 "input": "ftp://%e2%98%83", 4421 "base": "about:blank", 4422 "href": "ftp://xn--n3h/", 4423 "origin": "ftp://☃", 4424 "protocol": "ftp:", 4425 "username": "", 4426 "password": "", 4427 "host": "xn--n3h", 4428 "hostname": "xn--n3h", 4429 "port": "", 4430 "pathname": "/", 4431 "search": "", 4432 "hash": "" 4433 }, 4434 { 4435 "input": "https://%e2%98%83", 4436 "base": "about:blank", 4437 "href": "https://xn--n3h/", 4438 "origin": "https://☃", 4439 "protocol": "https:", 4440 "username": "", 4441 "password": "", 4442 "host": "xn--n3h", 4443 "hostname": "xn--n3h", 4444 "port": "", 4445 "pathname": "/", 4304 4446 "search": "", 4305 4447 "hash": "" … … 4626 4768 "hash": "" 4627 4769 }, 4770 "# file URLs containing percent-encoded Windows drive letters (shouldn't work)", 4771 { 4772 "input": "file:///C%3A/", 4773 "base": "about:blank", 4774 "href": "file:///C%3A/", 4775 "protocol": "file:", 4776 "username": "", 4777 "password": "", 4778 "host": "", 4779 "hostname": "", 4780 "port": "", 4781 "pathname": "/C%3A/", 4782 "search": "", 4783 "hash": "" 4784 }, 4785 { 4786 "input": "file:///C%7C/", 4787 "base": "about:blank", 4788 "href": "file:///C%7C/", 4789 "protocol": "file:", 4790 "username": "", 4791 "password": "", 4792 "host": "", 4793 "hostname": "", 4794 "port": "", 4795 "pathname": "/C%7C/", 4796 "search": "", 4797 "hash": "" 4798 }, 4628 4799 "# file URLs relative to other file URLs (via https://github.com/jsdom/whatwg-url/pull/60)", 4629 4800 { … … 4755 4926 "search": "", 4756 4927 "hash": "" 4928 }, 4929 "# Empty host", 4930 { 4931 "input": "http://?", 4932 "base": "about:blank", 4933 "failure": "true" 4934 }, 4935 { 4936 "input": "http://#", 4937 "base": "about:blank", 4938 "failure": "true" 4939 }, 4940 "# Non-special-URL path tests", 4941 { 4942 "input": "sc://ñ", 4943 "base": "about:blank", 4944 "href": "sc://%C3%B1", 4945 "origin": "null", 4946 "protocol": "sc:", 4947 "username": "", 4948 "password": "", 4949 "host": "%C3%B1", 4950 "hostname": "%C3%B1", 4951 "port": "", 4952 "pathname": "", 4953 "search": "", 4954 "hash": "" 4955 }, 4956 { 4957 "input": "sc://ñ?x", 4958 "base": "about:blank", 4959 "href": "sc://%C3%B1?x", 4960 "origin": "null", 4961 "protocol": "sc:", 4962 "username": "", 4963 "password": "", 4964 "host": "%C3%B1", 4965 "hostname": "%C3%B1", 4966 "port": "", 4967 "pathname": "", 4968 "search": "?x", 4969 "hash": "" 4970 }, 4971 { 4972 "input": "sc://ñ#x", 4973 "base": "about:blank", 4974 "href": "sc://%C3%B1#x", 4975 "origin": "null", 4976 "protocol": "sc:", 4977 "username": "", 4978 "password": "", 4979 "host": "%C3%B1", 4980 "hostname": "%C3%B1", 4981 "port": "", 4982 "pathname": "", 4983 "search": "", 4984 "hash": "#x" 4985 }, 4986 { 4987 "input": "#x", 4988 "base": "sc://ñ", 4989 "href": "sc://%C3%B1#x", 4990 "origin": "null", 4991 "protocol": "sc:", 4992 "username": "", 4993 "password": "", 4994 "host": "%C3%B1", 4995 "hostname": "%C3%B1", 4996 "port": "", 4997 "pathname": "", 4998 "search": "", 4999 "hash": "#x" 5000 }, 5001 { 5002 "input": "?x", 5003 "base": "sc://ñ", 5004 "href": "sc://%C3%B1?x", 5005 "origin": "null", 5006 "protocol": "sc:", 5007 "username": "", 5008 "password": "", 5009 "host": "%C3%B1", 5010 "hostname": "%C3%B1", 5011 "port": "", 5012 "pathname": "", 5013 "search": "?x", 5014 "hash": "" 5015 }, 5016 { 5017 "input": "sc://?", 5018 "base": "about:blank", 5019 "href": "sc://?", 5020 "protocol": "sc:", 5021 "username": "", 5022 "password": "", 5023 "host": "", 5024 "hostname": "", 5025 "port": "", 5026 "pathname": "", 5027 "search": "", 5028 "hash": "" 5029 }, 5030 { 5031 "input": "sc://#", 5032 "base": "about:blank", 5033 "href": "sc://#", 5034 "protocol": "sc:", 5035 "username": "", 5036 "password": "", 5037 "host": "", 5038 "hostname": "", 5039 "port": "", 5040 "pathname": "", 5041 "search": "", 5042 "hash": "" 5043 }, 5044 { 5045 "input": "///", 5046 "base": "sc://x/", 5047 "href": "sc:///", 5048 "protocol": "sc:", 5049 "username": "", 5050 "password": "", 5051 "host": "", 5052 "hostname": "", 5053 "port": "", 5054 "pathname": "/", 5055 "search": "", 5056 "hash": "" 5057 }, 5058 { 5059 "input": "////", 5060 "base": "sc://x/", 5061 "href": "sc:////", 5062 "protocol": "sc:", 5063 "username": "", 5064 "password": "", 5065 "host": "", 5066 "hostname": "", 5067 "port": "", 5068 "pathname": "//", 5069 "search": "", 5070 "hash": "" 5071 }, 5072 { 5073 "input": "////x/", 5074 "base": "sc://x/", 5075 "href": "sc:////x/", 5076 "protocol": "sc:", 5077 "username": "", 5078 "password": "", 5079 "host": "", 5080 "hostname": "", 5081 "port": "", 5082 "pathname": "//x/", 5083 "search": "", 5084 "hash": "" 5085 }, 5086 { 5087 "input": "tftp://foobar.com/someconfig;mode=netascii", 5088 "base": "about:blank", 5089 "href": "tftp://foobar.com/someconfig;mode=netascii", 5090 "origin": "null", 5091 "protocol": "tftp:", 5092 "username": "", 5093 "password": "", 5094 "host": "foobar.com", 5095 "hostname": "foobar.com", 5096 "port": "", 5097 "pathname": "/someconfig;mode=netascii", 5098 "search": "", 5099 "hash": "" 5100 }, 5101 { 5102 "input": "telnet://user:pass@foobar.com:23/", 5103 "base": "about:blank", 5104 "href": "telnet://user:pass@foobar.com:23/", 5105 "origin": "null", 5106 "protocol": "telnet:", 5107 "username": "user", 5108 "password": "pass", 5109 "host": "foobar.com:23", 5110 "hostname": "foobar.com", 5111 "port": "23", 5112 "pathname": "/", 5113 "search": "", 5114 "hash": "" 5115 }, 5116 { 5117 "input": "ut2004://10.10.10.10:7777/Index.ut2", 5118 "base": "about:blank", 5119 "href": "ut2004://10.10.10.10:7777/Index.ut2", 5120 "origin": "null", 5121 "protocol": "ut2004:", 5122 "username": "", 5123 "password": "", 5124 "host": "10.10.10.10:7777", 5125 "hostname": "10.10.10.10", 5126 "port": "7777", 5127 "pathname": "/Index.ut2", 5128 "search": "", 5129 "hash": "" 5130 }, 5131 { 5132 "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", 5133 "base": "about:blank", 5134 "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", 5135 "origin": "null", 5136 "protocol": "redis:", 5137 "username": "foo", 5138 "password": "bar", 5139 "host": "somehost:6379", 5140 "hostname": "somehost", 5141 "port": "6379", 5142 "pathname": "/0", 5143 "search": "?baz=bam&qux=baz", 5144 "hash": "" 5145 }, 5146 { 5147 "input": "rsync://foo@host:911/sup", 5148 "base": "about:blank", 5149 "href": "rsync://foo@host:911/sup", 5150 "origin": "null", 5151 "protocol": "rsync:", 5152 "username": "foo", 5153 "password": "", 5154 "host": "host:911", 5155 "hostname": "host", 5156 "port": "911", 5157 "pathname": "/sup", 5158 "search": "", 5159 "hash": "" 5160 }, 5161 { 5162 "input": "git://github.com/foo/bar.git", 5163 "base": "about:blank", 5164 "href": "git://github.com/foo/bar.git", 5165 "origin": "null", 5166 "protocol": "git:", 5167 "username": "", 5168 "password": "", 5169 "host": "github.com", 5170 "hostname": "github.com", 5171 "port": "", 5172 "pathname": "/foo/bar.git", 5173 "search": "", 5174 "hash": "" 5175 }, 5176 { 5177 "input": "irc://myserver.com:6999/channel?passwd", 5178 "base": "about:blank", 5179 "href": "irc://myserver.com:6999/channel?passwd", 5180 "origin": "null", 5181 "protocol": "irc:", 5182 "username": "", 5183 "password": "", 5184 "host": "myserver.com:6999", 5185 "hostname": "myserver.com", 5186 "port": "6999", 5187 "pathname": "/channel", 5188 "search": "?passwd", 5189 "hash": "" 5190 }, 5191 { 5192 "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT", 5193 "base": "about:blank", 5194 "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT", 5195 "origin": "null", 5196 "protocol": "dns:", 5197 "username": "", 5198 "password": "", 5199 "host": "fw.example.org:9999", 5200 "hostname": "fw.example.org", 5201 "port": "9999", 5202 "pathname": "/foo.bar.org", 5203 "search": "?type=TXT", 5204 "hash": "" 5205 }, 5206 { 5207 "input": "ldap://localhost:389/ou=People,o=JNDITutorial", 5208 "base": "about:blank", 5209 "href": "ldap://localhost:389/ou=People,o=JNDITutorial", 5210 "origin": "null", 5211 "protocol": "ldap:", 5212 "username": "", 5213 "password": "", 5214 "host": "localhost:389", 5215 "hostname": "localhost", 5216 "port": "389", 5217 "pathname": "/ou=People,o=JNDITutorial", 5218 "search": "", 5219 "hash": "" 5220 }, 5221 { 5222 "input": "git+https://github.com/foo/bar", 5223 "base": "about:blank", 5224 "href": "git+https://github.com/foo/bar", 5225 "origin": "null", 5226 "protocol": "git+https:", 5227 "username": "", 5228 "password": "", 5229 "host": "github.com", 5230 "hostname": "github.com", 5231 "port": "", 5232 "pathname": "/foo/bar", 5233 "search": "", 5234 "hash": "" 5235 }, 5236 { 5237 "input": "urn:ietf:rfc:2648", 5238 "base": "about:blank", 5239 "href": "urn:ietf:rfc:2648", 5240 "origin": "null", 5241 "protocol": "urn:", 5242 "username": "", 5243 "password": "", 5244 "host": "", 5245 "hostname": "", 5246 "port": "", 5247 "pathname": "ietf:rfc:2648", 5248 "search": "", 5249 "hash": "" 5250 }, 5251 { 5252 "input": "tag:joe@example.org,2001:foo/bar", 5253 "base": "about:blank", 5254 "href": "tag:joe@example.org,2001:foo/bar", 5255 "origin": "null", 5256 "protocol": "tag:", 5257 "username": "", 5258 "password": "", 5259 "host": "", 5260 "hostname": "", 5261 "port": "", 5262 "pathname": "joe@example.org,2001:foo/bar", 5263 "search": "", 5264 "hash": "" 4757 5265 } 4758 5266 ]
Note: See TracChangeset
for help on using the changeset viewer.