1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-15 11:58:42 -05:00
denoland-deno/cli/tests/wpt.jsonc
2021-01-24 22:29:36 +01:00

651 lines
30 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"streams": [
// "piping/abort",
// "piping/close-propagation-backward",
// "piping/close-propagation-forward",
// "piping/error-propagation-backward",
// "piping/error-propagation-forward",
"piping/flow-control",
// "piping/general",
"piping/multiple-propagation",
// "piping/pipe-through",
"piping/then-interception",
// "piping/throwing-options",
// "piping/transform-streams",
"queuing-strategies.any",
// "readable-byte-streams",
// "readable-streams/async-iterator",
// "readable-streams/bad-strategies",
// "readable-streams/bad-underlying-source",
// "readable-streams/cancel",
// "readable-streams/constructor",
"readable-streams/count-queuing-strategy-integration",
"readable-streams/default-reader",
"readable-streams/floating-point-total-queue-size",
"readable-streams/garbage-collection",
"readable-streams/general",
{
"name": "readable-streams/patched-global",
"expectFail": [
"ReadableStream async iterator should use the original values of getReader() and ReadableStreamDefaultReader methods"
]
},
"readable-streams/reentrant-strategies",
"readable-streams/tee",
// "readable-streams/templated",
"transform-streams/backpressure",
"transform-streams/errors",
"transform-streams/flush",
"transform-streams/general",
"transform-streams/lipfuzz",
// "transform-streams/patched-global",
"transform-streams/properties",
"transform-streams/reentrant-strategies",
"transform-streams/strategies",
// "transform-streams/terminate",
// "writable-streams/aborting",
// "writable-streams/bad-strategies",
"writable-streams/bad-underlying-sinks",
"writable-streams/byte-length-queuing-strategy",
// "writable-streams/close",
// "writable-streams/constructor",
"writable-streams/count-queuing-strategy",
"writable-streams/error",
"writable-streams/floating-point-total-queue-size",
"writable-streams/general",
"writable-streams/properties",
"writable-streams/reentrant-strategy",
"writable-streams/start",
"writable-streams/write"
],
"encoding": [
"api-basics",
"api-invalid-label",
"api-replacement-encodings",
"api-surrogates-utf8",
// TODO(lucacasonato): enable encodeInto. We have a bug in implementaiton.
// {
// "name": "encodeInto",
// "expectFail": [
// "encodeInto() and a detached output buffer"
// ]
// },
// "encodeInto",
// TODO(lucacasonato): enable when we support iso-2022-jp
// "iso-2022-jp-decoder",
// TODO(lucacasonato): uses XMLHttpRequest unnecessarily. should be fixed upstream before enabling
// "replacement-encodings",
"textdecoder-byte-order-marks",
{
"name": "textdecoder-copy",
"expectFail": [
// TODO(lucacasonato): enable when we have stream support
"Modify buffer after passing it in (ArrayBuffer)",
"Modify buffer after passing it in (SharedArrayBuffer)"
]
},
"textdecoder-fatal-single-byte",
"textdecoder-fatal.",
"textdecoder-ignorebom",
{
"name": "textdecoder-labels",
"expectFail": [
"cseucpkdfmtjapanese => EUC-JP",
"euc-jp => EUC-JP",
"x-euc-jp => EUC-JP",
"csiso2022jp => ISO-2022-JP",
"iso-2022-jp => ISO-2022-JP",
"csshiftjis => Shift_JIS",
"ms932 => Shift_JIS",
"ms_kanji => Shift_JIS",
"shift-jis => Shift_JIS",
"shift_jis => Shift_JIS",
"sjis => Shift_JIS",
"windows-31j => Shift_JIS",
"x-sjis => Shift_JIS",
"cseuckr => EUC-KR",
"csksc56011987 => EUC-KR",
"euc-kr => EUC-KR",
"iso-ir-149 => EUC-KR",
"korean => EUC-KR",
"ks_c_5601-1987 => EUC-KR",
"ks_c_5601-1989 => EUC-KR",
"ksc5601 => EUC-KR",
"ksc_5601 => EUC-KR",
"windows-949 => EUC-KR",
"x-user-defined => x-user-defined"
]
},
// TODO(lucacasonato): enable when we have stream support
// "textdecoder-streaming",
"textdecoder-utf16-surrogates",
{
"name": "textencoder-constructor-non-utf",
"expectFail": [
"Encoding argument supported for decode: EUC-JP",
"Encoding argument supported for decode: ISO-2022-JP",
"Encoding argument supported for decode: Shift_JIS",
"Encoding argument supported for decode: EUC-KR",
"Encoding argument supported for decode: x-user-defined"
]
},
"textencoder-utf16-surrogates",
"legacy-mb-schinese"
// TODO(lucacasonato): uses XMLHttpRequest unnecessarily. should be fixed upstream before enabling
// "unsupported-encodings",
],
"dom": ["abort/event"],
"hr-time": ["monotonic-clock"],
"html": [
"webappapis/microtask-queuing/queue-microtask-exceptions.any",
"webappapis/microtask-queuing/queue-microtask.any",
"webappapis/timers"
],
"user-timing": [
"clear_all_marks",
"clear_all_measures",
"clear_non_existent_mark",
"clear_non_existent_measure",
"clear_one_mark",
"clear_one_measure",
"entry_type",
"mark-entry-constructor",
"mark-errors",
"mark-measure-return-objects",
"mark.any",
"measure_syntax_err",
"measure-l3",
"structured-serialize-detail",
"user_timing_exists"
],
"wasm": [
"jsapi/constructor/compile",
"jsapi/constructor/multi-value",
"jsapi/constructor/toStringTag",
"jsapi/constructor/validate",
"jsapi/global/constructor",
"jsapi/global/toString",
"jsapi/global/value-get-set",
"jsapi/global/valueOf",
"jsapi/instance/toString",
"jsapi/instance/constructor-caching",
"jsapi/memory/toString",
"jsapi/module/constructor",
"jsapi/module/customSections",
"jsapi/module/exports",
"jsapi/module/imports",
"jsapi/module/toString",
"jsapi/table/get-set",
"jsapi/table/toString",
"webapi/body",
"webapi/invalid-args",
"webapi/rejected-arg",
"webapi/status",
"webapi/create_multiple_memory",
"create_multiple_memory"
//FAILING TESTS
// "jsapi/constructor/instantiate-bad-imports",
// "jsapi/constructor/instantiate",
// "jsapi/global/type",
// "jsapi/instance/constructor-bad-imports",
// "jsapi/instance/constructor",
// "jsapi/instance/exports",
// "jsapi/memory/buffer",
// "jsapi/memory/constructor-shared",
// "jsapi/memory/constructor-types",
// "jsapi/memory/constructor",
// "jsapi/memory/grow",
// "jsapi/memory/type",
// "jsapi/table/constructor-types",
// "jsapi/table/constructor",
// "jsapi/table/grow-reftypes",
// "jsapi/table/grow",
// "jsapi/table/length",
// "jsapi/idlharness",
// "jsapi/instance",
// "jsapi/prototypes",
// "serialization/arraybuffer/transfer"
// "serialization/module/nested-worker-success",
// "serialization/module/serialization-via-idb",
// "serialization/module/serialization-via-notifications-api",
// "webapi/abort",
// "webapi/contenttype",
// "webapi/empty-body",
// "webapi/historical",
// "webapi/idlharness",
// "webapi/instantiateStreaming-bad-imports",
// "webapi/instantiateStreaming",
// "webapi/invalid-code",
// "webapi/origin",
],
"console": [
"console-is-a-namespace",
"console-label-conversion",
"console-namespace-object-class-string",
"console-tests-historical"
],
"WebCryptoApi": ["getRandomValues"],
"WebIDL": [
"ecmascript-binding/es-exceptions/DOMException-constants",
"ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype",
"ecmascript-binding/es-exceptions/DOMException-constructor-behavior",
{
"name": "ecmascript-binding/es-exceptions/DOMException-custom-bindings",
"expectFail": [
// TODO(kt3k): Enable this test.
// We can pass this test by using Object.setPrototypeOf(...) instead of
// class...extends, but that causes a problem in printing of uncaught
// DOMException. We might need to modify how to print uncaught error in
// `//core/error.rs`.
"does not inherit from Error: class-side"
]
}
],
"url": [
"historical",
{
"name": "url-constructor",
"expectFail": [
"Parsing: <http://example\t.\norg> against <http://example.org/foo/bar>",
"Parsing: <a:\t foo.com> against <http://example.org/foo/bar>",
"Parsing: <lolscheme:x x#x x> against <about:blank>",
"Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar>",
"Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar>",
"Parsing: <http://f: /c> against <http://example.org/foo/bar>",
"Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar>",
"Parsing: <:#> against <http://example.org/foo/bar>",
"Parsing: <#> against <http://example.org/foo/bar>",
"Parsing: <?> against <http://example.org/foo/bar>",
"Parsing: <http://[::127.0.0.1]> against <http://example.org/foo/bar>",
"Parsing: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar>",
"Parsing: <file:c:\\foo\\bar.html> against <file:///tmp/mock/path>",
"Parsing: < File:c|////foo\\bar.html> against <file:///tmp/mock/path>",
"Parsing: <C|/foo/bar> against <file:///tmp/mock/path>",
"Parsing: </C|\\foo\\bar> against <file:///tmp/mock/path>",
"Parsing: <//C|/foo/bar> against <file:///tmp/mock/path>",
"Parsing: <file://localhost> against <file:///tmp/mock/path>",
"Parsing: <file://localhost/> against <file:///tmp/mock/path>",
"Parsing: <file://localhost/test> against <file:///tmp/mock/path>",
"Parsing: <http://example.com/foo/%2e> against <about:blank>",
"Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank>",
"Parsing: <http://example.com////../..> against <about:blank>",
"Parsing: <http://example.com/foo\t\u0091%91> against <about:blank>",
"Parsing: <http://example.com/foo\tbar> against <about:blank>",
"Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank>",
"Parsing: <http://www/foo/%2E/html> against <about:blank>",
"Parsing: <file:..> against <http://www.example.com/test>",
"Parsing: <\u0000\u001b\u0004\u0012 http://example.com/\u001f \r > against <about:blank>",
"Parsing: <https://%EF%BF%BD> against <about:blank>",
"Parsing: <http://[::1.2.3.]> against <http://other.com/>",
"Parsing: <http://[::1.2.]> against <http://other.com/>",
"Parsing: <http://[::1.]> against <http://other.com/>",
"Parsing: <#> against <test:test>",
"Parsing: <#> against <test:test?test>",
"Parsing: <i> against <sc:sd>",
"Parsing: <i> against <sc:sd/sd>",
"Parsing: <../i> against <sc:sd>",
"Parsing: <../i> against <sc:sd/sd>",
"Parsing: </i> against <sc:sd>",
"Parsing: </i> against <sc:sd/sd>",
"Parsing: <?i> against <sc:sd>",
"Parsing: <?i> against <sc:sd/sd>",
"Parsing: <sc://@/> against <about:blank>",
"Parsing: <sc://te@s:t@/> against <about:blank>",
"Parsing: <sc://:/> against <about:blank>",
"Parsing: <sc://:12/> against <about:blank>",
"Parsing: <sc://\\/> against <about:blank>",
"Parsing: <sc:\\../> against <about:blank>",
"Parsing: <ftp://%e2%98%83> against <about:blank>",
"Parsing: <https://%e2%98%83> against <about:blank>",
"Parsing: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank>",
"Parsing: <https://0x.0x.0> against <about:blank>",
"Parsing: </> against <file://h/C:/a/b>",
"Parsing: <//d:> against <file:///C:/a/b>",
"Parsing: <//d:/..> against <file:///C:/a/b>",
"Parsing: <file:\\\\//> against <about:blank>",
"Parsing: <file:\\\\\\\\> against <about:blank>",
"Parsing: <file:\\\\\\\\?fox> against <about:blank>",
"Parsing: <file:\\\\\\\\#guppy> against <about:blank>",
"Parsing: <file://spider///> against <about:blank>",
"Parsing: <file:\\\\localhost//> against <about:blank>",
"Parsing: <file://\\/localhost//cat> against <about:blank>",
"Parsing: <file://localhost//a//../..//> against <about:blank>",
"Parsing: </////mouse> against <file:///elephant>",
"Parsing: <\\/localhost//pig> against <file://lion/>",
"Parsing: <//localhost//pig> against <file://lion/>",
"Parsing: <C|> against <file://host/dir/file>",
"Parsing: <C|> against <file://host/D:/dir1/dir2/file>",
"Parsing: <C|#> against <file://host/dir/file>",
"Parsing: <C|?> against <file://host/dir/file>",
"Parsing: <C|/> against <file://host/dir/file>",
"Parsing: <C|\n/> against <file://host/dir/file>",
"Parsing: <C|\\> against <file://host/dir/file>",
"Parsing: </c|/foo/bar> against <file:///c:/baz/qux>",
"Parsing: </c:/foo/bar> against <file://host/path>",
"Parsing: <file://example.net/C:/> against <about:blank>",
"Parsing: <file://1.2.3.4/C:/> against <about:blank>",
"Parsing: <file://[1::8]/C:/> against <about:blank>",
"Parsing: <file:/C|/> against <about:blank>",
"Parsing: <file://C|/> against <about:blank>",
"Parsing: <\\\\\\.\\Y:> against <about:blank>",
"Parsing: <\\\\\\.\\y:> against <about:blank>",
"Parsing: <file://localhost//a//../..//foo> against <about:blank>",
"Parsing: <file://localhost////foo> against <about:blank>",
"Parsing: <file:////foo> against <about:blank>",
"Parsing: <file:////one/two> against <file:///>",
"Parsing: <////one/two> against <file:///>",
"Parsing: <file:.//p> against <about:blank>",
"Parsing: <http://[1:0::]> against <http://example.net/>",
"Parsing: <http://[0:1:2:3:4:5:6:7:8]> against <http://example.net/>",
"Parsing: <https://[0::0::0]> against <about:blank>",
"Parsing: <https://[0:.0]> against <about:blank>",
"Parsing: <https://[0:0:]> against <about:blank>",
"Parsing: <https://[0:1:2:3:4:5:6:7.0.0.0.1]> against <about:blank>",
"Parsing: <https://[0:1.00.0.0.0]> against <about:blank>",
"Parsing: <https://[0:1.290.0.0.0]> against <about:blank>",
"Parsing: <https://[0:1.23.23]> against <about:blank>",
"Parsing: <#x> against <sc://ñ>",
"Parsing: <?x> against <sc://ñ>",
"Parsing: <sc://?> against <about:blank>",
"Parsing: <sc://#> against <about:blank>",
"Parsing: <non-spec:/.//> against <about:blank>",
"Parsing: <non-spec:/..//> against <about:blank>",
"Parsing: <non-spec:/a/..//> against <about:blank>",
"Parsing: <non-spec:/.//path> against <about:blank>",
"Parsing: <non-spec:/..//path> against <about:blank>",
"Parsing: <non-spec:/a/..//path> against <about:blank>",
"Parsing: </.//path> against <non-spec:/p>",
"Parsing: </..//path> against <non-spec:/p>",
"Parsing: <..//path> against <non-spec:/p>",
"Parsing: <a/..//path> against <non-spec:/p>",
"Parsing: <> against <non-spec:/..//p>",
"Parsing: <path> against <non-spec:/..//p>",
"Parsing: <non-special://[1:2:0:0:5:0:0:0]/> against <about:blank>",
"Parsing: <http://[::127.0.0.0.1]> against <about:blank>",
"Parsing: <http://example.org/test?#> against <about:blank>",
"Parsing: <a> against <about:blank>",
"Parsing: <a/> against <about:blank>",
"Parsing: <a//> against <about:blank>",
"Parsing: <test-a-colon.html> against <a:>",
"Parsing: <test-a-colon-b.html> against <a:b>",
"Parsing: <file://a%C2%ADb/p> against <about:blank>",
"Parsing: <file://­/p> against <about:blank>",
"Parsing: <file://%C2%AD/p> against <about:blank>",
"Parsing: <file://xn--/p> against <about:blank>"
]
},
{
"name": "url-origin",
"expectFail": [
"Origin parsing: <http://example\t.\norg> against <http://example.org/foo/bar>",
"Origin parsing: <non-special://test:@test/x> against <about:blank>",
"Origin parsing: <non-special://:@test/x> against <about:blank>",
"Origin parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar>",
"Origin parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar>",
"Origin parsing: <http://[::127.0.0.1]> against <http://example.org/foo/bar>",
"Origin parsing: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar>",
"Origin parsing: <ssh://example.com/foo/bar.git> against <http://example.org/>",
"Origin parsing: <httpa://foo:80/> against <about:blank>",
"Origin parsing: <gopher://foo:70/> against <about:blank>",
"Origin parsing: <gopher://foo:443/> against <about:blank>",
"Origin parsing: <\u0000\u001b\u0004\u0012 http://example.com/\u001f \r > against <about:blank>",
"Origin parsing: <sc://faß.ExAmPlE/> against <about:blank>",
"Origin parsing: <notspecial://host/?'> against <about:blank>",
"Origin parsing: <i> against <sc://ho/pa>",
"Origin parsing: <../i> against <sc://ho/pa>",
"Origin parsing: </i> against <sc://ho/pa>",
"Origin parsing: <?i> against <sc://ho/pa>",
"Origin parsing: <#i> against <sc://ho/pa>",
"Origin parsing: <sc://ñ.test/> against <about:blank>",
"Origin parsing: <x> against <sc://ñ>",
"Origin parsing: <sc://\u001f!\"$&'()*+,-.;=_`{|}~/> against <about:blank>",
"Origin parsing: <ftp://%e2%98%83> against <about:blank>",
"Origin parsing: <https://%e2%98%83> against <about:blank>",
"Origin parsing: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank>",
"Origin parsing: <https://0x.0x.0> against <about:blank>",
"Origin parsing: <http://[1:0::]> against <http://example.net/>",
"Origin parsing: <sc://ñ> against <about:blank>",
"Origin parsing: <sc://ñ?x> against <about:blank>",
"Origin parsing: <sc://ñ#x> against <about:blank>",
"Origin parsing: <#x> against <sc://ñ>",
"Origin parsing: <?x> against <sc://ñ>",
"Origin parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank>",
"Origin parsing: <telnet://user:pass@foobar.com:23/> against <about:blank>",
"Origin parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank>",
"Origin parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank>",
"Origin parsing: <rsync://foo@host:911/sup> against <about:blank>",
"Origin parsing: <git://github.com/foo/bar.git> against <about:blank>",
"Origin parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank>",
"Origin parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank>",
"Origin parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank>",
"Origin parsing: <git+https://github.com/foo/bar> against <about:blank>"
]
},
{
"name": "url-searchparams",
"expectFail": [
"URL.searchParams updating, clearing",
"URL.searchParams and URL.search setters, update propagation"
]
},
{
"name": "url-setters-stripping",
"expectFail": [
"Setting protocol with leading U+0000 (https:)",
"Setting protocol with U+0000 before inserted colon (https:)",
"Setting host with leading U+0000 (https:)",
"Setting host with middle U+0000 (https:)",
"Setting host with trailing U+0000 (https:)",
"Setting port with middle U+0000 (https:)",
"Setting port with trailing U+0000 (https:)",
"Setting protocol with leading U+0009 (https:)",
"Setting protocol with U+0009 before inserted colon (https:)",
"Setting host with leading U+0009 (https:)",
"Setting hostname with leading U+0009 (https:)",
"Setting host with middle U+0009 (https:)",
"Setting hostname with middle U+0009 (https:)",
"Setting host with trailing U+0009 (https:)",
"Setting hostname with trailing U+0009 (https:)",
"Setting port with leading U+0009 (https:)",
"Setting port with middle U+0009 (https:)",
"Setting port with trailing U+0009 (https:)",
"Setting pathname with leading U+0009 (https:)",
"Setting pathname with middle U+0009 (https:)",
"Setting pathname with trailing U+0009 (https:)",
"Setting search with leading U+0009 (https:)",
"Setting search with middle U+0009 (https:)",
"Setting search with trailing U+0009 (https:)",
"Setting hash with leading U+0009 (https:)",
"Setting hash with middle U+0009 (https:)",
"Setting hash with trailing U+0009 (https:)",
"Setting protocol with leading U+000A (https:)",
"Setting protocol with U+000A before inserted colon (https:)",
"Setting host with leading U+000A (https:)",
"Setting hostname with leading U+000A (https:)",
"Setting host with middle U+000A (https:)",
"Setting hostname with middle U+000A (https:)",
"Setting host with trailing U+000A (https:)",
"Setting hostname with trailing U+000A (https:)",
"Setting port with leading U+000A (https:)",
"Setting port with middle U+000A (https:)",
"Setting port with trailing U+000A (https:)",
"Setting pathname with leading U+000A (https:)",
"Setting pathname with middle U+000A (https:)",
"Setting pathname with trailing U+000A (https:)",
"Setting search with leading U+000A (https:)",
"Setting search with middle U+000A (https:)",
"Setting search with trailing U+000A (https:)",
"Setting hash with leading U+000A (https:)",
"Setting hash with middle U+000A (https:)",
"Setting hash with trailing U+000A (https:)",
"Setting protocol with leading U+000D (https:)",
"Setting protocol with U+000D before inserted colon (https:)",
"Setting host with leading U+000D (https:)",
"Setting hostname with leading U+000D (https:)",
"Setting host with middle U+000D (https:)",
"Setting hostname with middle U+000D (https:)",
"Setting host with trailing U+000D (https:)",
"Setting hostname with trailing U+000D (https:)",
"Setting port with leading U+000D (https:)",
"Setting port with middle U+000D (https:)",
"Setting port with trailing U+000D (https:)",
"Setting pathname with leading U+000D (https:)",
"Setting pathname with middle U+000D (https:)",
"Setting pathname with trailing U+000D (https:)",
"Setting search with leading U+000D (https:)",
"Setting search with middle U+000D (https:)",
"Setting search with trailing U+000D (https:)",
"Setting hash with leading U+000D (https:)",
"Setting hash with middle U+000D (https:)",
"Setting hash with trailing U+000D (https:)",
"Setting protocol with leading U+001F (https:)",
"Setting protocol with U+001F before inserted colon (https:)",
"Setting host with leading U+001F (https:)",
"Setting host with middle U+001F (https:)",
"Setting host with trailing U+001F (https:)",
"Setting port with middle U+001F (https:)",
"Setting port with trailing U+001F (https:)",
"Setting protocol with leading U+0000 (wpt++:)",
"Setting protocol with U+0000 before inserted colon (wpt++:)",
"Setting host with leading U+0000 (wpt++:)",
"Setting host with middle U+0000 (wpt++:)",
"Setting host with trailing U+0000 (wpt++:)",
"Setting port with middle U+0000 (wpt++:)",
"Setting port with trailing U+0000 (wpt++:)",
"Setting pathname with leading U+0000 (wpt++:)",
"Setting pathname with middle U+0000 (wpt++:)",
"Setting pathname with trailing U+0000 (wpt++:)",
"Setting protocol with leading U+0009 (wpt++:)",
"Setting protocol with U+0009 before inserted colon (wpt++:)",
"Setting host with leading U+0009 (wpt++:)",
"Setting hostname with leading U+0009 (wpt++:)",
"Setting host with middle U+0009 (wpt++:)",
"Setting hostname with middle U+0009 (wpt++:)",
"Setting host with trailing U+0009 (wpt++:)",
"Setting hostname with trailing U+0009 (wpt++:)",
"Setting port with leading U+0009 (wpt++:)",
"Setting port with middle U+0009 (wpt++:)",
"Setting port with trailing U+0009 (wpt++:)",
"Setting pathname with leading U+0009 (wpt++:)",
"Setting pathname with middle U+0009 (wpt++:)",
"Setting pathname with trailing U+0009 (wpt++:)",
"Setting search with leading U+0009 (wpt++:)",
"Setting search with middle U+0009 (wpt++:)",
"Setting search with trailing U+0009 (wpt++:)",
"Setting hash with leading U+0009 (wpt++:)",
"Setting hash with middle U+0009 (wpt++:)",
"Setting hash with trailing U+0009 (wpt++:)",
"Setting protocol with leading U+000A (wpt++:)",
"Setting protocol with U+000A before inserted colon (wpt++:)",
"Setting host with leading U+000A (wpt++:)",
"Setting hostname with leading U+000A (wpt++:)",
"Setting host with middle U+000A (wpt++:)",
"Setting hostname with middle U+000A (wpt++:)",
"Setting host with trailing U+000A (wpt++:)",
"Setting hostname with trailing U+000A (wpt++:)",
"Setting port with leading U+000A (wpt++:)",
"Setting port with middle U+000A (wpt++:)",
"Setting port with trailing U+000A (wpt++:)",
"Setting pathname with leading U+000A (wpt++:)",
"Setting pathname with middle U+000A (wpt++:)",
"Setting pathname with trailing U+000A (wpt++:)",
"Setting search with leading U+000A (wpt++:)",
"Setting search with middle U+000A (wpt++:)",
"Setting search with trailing U+000A (wpt++:)",
"Setting hash with leading U+000A (wpt++:)",
"Setting hash with middle U+000A (wpt++:)",
"Setting hash with trailing U+000A (wpt++:)",
"Setting protocol with leading U+000D (wpt++:)",
"Setting protocol with U+000D before inserted colon (wpt++:)",
"Setting host with leading U+000D (wpt++:)",
"Setting hostname with leading U+000D (wpt++:)",
"Setting host with middle U+000D (wpt++:)",
"Setting hostname with middle U+000D (wpt++:)",
"Setting host with trailing U+000D (wpt++:)",
"Setting hostname with trailing U+000D (wpt++:)",
"Setting port with leading U+000D (wpt++:)",
"Setting port with middle U+000D (wpt++:)",
"Setting port with trailing U+000D (wpt++:)",
"Setting pathname with leading U+000D (wpt++:)",
"Setting pathname with middle U+000D (wpt++:)",
"Setting pathname with trailing U+000D (wpt++:)",
"Setting search with leading U+000D (wpt++:)",
"Setting search with middle U+000D (wpt++:)",
"Setting search with trailing U+000D (wpt++:)",
"Setting hash with leading U+000D (wpt++:)",
"Setting hash with middle U+000D (wpt++:)",
"Setting hash with trailing U+000D (wpt++:)",
"Setting protocol with leading U+001F (wpt++:)",
"Setting protocol with U+001F before inserted colon (wpt++:)",
"Setting host with leading U+001F (wpt++:)",
"Setting host with middle U+001F (wpt++:)",
"Setting host with trailing U+001F (wpt++:)",
"Setting port with middle U+001F (wpt++:)",
"Setting port with trailing U+001F (wpt++:)",
"Setting pathname with leading U+001F (wpt++:)",
"Setting pathname with middle U+001F (wpt++:)",
"Setting pathname with trailing U+001F (wpt++:)"
]
},
"url-tojson",
{
"name": "urlencoded-parser",
"expectFail": [
"URLSearchParams constructed with: %EF%BB%BFtest=%EF%BB%BF",
"request.formData() with input: test=",
"response.formData() with input: test=",
"request.formData() with input: %FE%FF",
"response.formData() with input: %FE%FF",
"request.formData() with input: %FF%FE",
"response.formData() with input: %FF%FE",
"request.formData() with input: %C2",
"response.formData() with input: %C2",
"request.formData() with input: %C2x",
"response.formData() with input: %C2x",
"request.formData() with input: _charset_=windows-1252&test=%C2x",
"response.formData() with input: _charset_=windows-1252&test=%C2x",
"request.formData() with input: %=a",
"response.formData() with input: %=a",
"request.formData() with input: %a=a",
"response.formData() with input: %a=a",
"request.formData() with input: %a_=a",
"response.formData() with input: %a_=a",
"request.formData() with input: id=0&value=%",
"response.formData() with input: id=0&value=%",
"request.formData() with input: b=%2sf%2a",
"response.formData() with input: b=%2sf%2a",
"request.formData() with input: b=%2%2af%2a",
"response.formData() with input: b=%2%2af%2a",
"request.formData() with input: b=%%2a",
"response.formData() with input: b=%%2a"
]
},
"urlsearchparams-append",
{
"name": "urlsearchparams-constructor",
"expectFail": [
"URLSearchParams constructor, empty string as argument",
"Construct with 2 unpaired surrogates (no trailing)",
"Construct with 3 unpaired surrogates (no leading)",
"Construct with object with NULL, non-ASCII, and surrogate keys"
]
},
"urlsearchparams-delete",
{
"name": "urlsearchparams-foreach",
"expectFail": [
"For-of Check",
"delete next param during iteration",
"delete current param during iteration",
"delete every param seen during iteration"
]
},
"urlsearchparams-get",
"urlsearchparams-getall",
"urlsearchparams-has",
"urlsearchparams-set",
"urlsearchparams-sort",
"urlsearchparams-stringifier"
]
}