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

652 lines
30 KiB
Text
Raw Normal View History

{
"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",
2021-01-09 01:32:04 -05:00
"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"
]
}
2021-01-24 16:29:36 -05:00
],
"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"
]
}