diff --git a/test_util/wpt b/test_util/wpt index 2c57e66a4b..96f98c458c 160000 --- a/test_util/wpt +++ b/test_util/wpt @@ -1 +1 @@ -Subproject commit 2c57e66a4b63afafc2fbba8a81284e4dc5ffe854 +Subproject commit 96f98c458cd36e1f12b6807b22a3a9ee1e1b0326 diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json index 56e95fb822..b2a2ec86d0 100644 --- a/tools/wpt/expectation.json +++ b/tools/wpt/expectation.json @@ -1017,8 +1017,16 @@ }, "dom": { "abort": { - "AbortSignal.any.html": true, - "AbortSignal.any.worker.html": true, + "AbortSignal.any.html": [ + "AbortSignal.timeout() returns a non-aborted signal", + "Signal returned by AbortSignal.timeout() times out", + "AbortSignal timeouts fire in order" + ], + "AbortSignal.any.worker.html": [ + "AbortSignal.timeout() returns a non-aborted signal", + "Signal returned by AbortSignal.timeout() times out", + "AbortSignal timeouts fire in order" + ], "event.any.html": true, "event.any.worker.html": true }, @@ -1904,6 +1912,66 @@ "xn-- (using .hostname)" ], "url-constructor.any.html": [ + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", "Parsing: against ", "Parsing: against ", "Parsing: against ", @@ -1989,6 +2057,66 @@ "Parsing: against " ], "url-constructor.any.worker.html": [ + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", "Parsing: against ", "Parsing: against ", "Parsing: against ", @@ -2086,6 +2214,12 @@ "Setting protocol with U+001F before inserted colon (https:)", "Setting port with leading U+001F (https:)", "Setting pathname with trailing U+001F (https:)", + "Setting host with leading U+001F (https:)", + "Setting hostname with leading U+001F (https:)", + "Setting host with middle U+001F (https:)", + "Setting hostname with middle U+001F (https:)", + "Setting host with trailing U+001F (https:)", + "Setting hostname with trailing U+001F (https:)", "Setting protocol with leading U+0000 (wpt++:)", "Setting protocol with U+0000 before inserted colon (wpt++:)", "Setting port with leading U+0000 (wpt++:)", @@ -2104,6 +2238,12 @@ "Setting protocol with U+001F before inserted colon (https:)", "Setting port with leading U+001F (https:)", "Setting pathname with trailing U+001F (https:)", + "Setting host with leading U+001F (https:)", + "Setting hostname with leading U+001F (https:)", + "Setting host with middle U+001F (https:)", + "Setting hostname with middle U+001F (https:)", + "Setting host with trailing U+001F (https:)", + "Setting hostname with trailing U+001F (https:)", "Setting protocol with leading U+0000 (wpt++:)", "Setting protocol with U+0000 before inserted colon (wpt++:)", "Setting port with leading U+0000 (wpt++:)", @@ -2575,6 +2715,8 @@ "Fetch with POST with ReadableStream containing Blob", "Fetch with POST with text body on 421 response should be retried once on new connection." ], + "response-null-body.any.html": true, + "response-null-body.any.worker.html": true, "response-url.sub.any.html": true, "response-url.sub.any.worker.html": true, "scheme-about.any.html": true, @@ -2862,6 +3004,14 @@ "response.json() rejects if already aborted", "response.text() rejects if already aborted", "Call text() twice on aborted response" + ], + "request.any.html": [ + "Calling formData() on an aborted request", + "Aborting a request after calling formData()" + ], + "request.any.worker.html": [ + "Calling formData() on an aborted request", + "Aborting a request after calling formData()" ] } }, @@ -3987,7 +4137,16 @@ "Component: hash Left: {\"hash\":\"a\"} Right: {\"hash\":\"b\"}" ], "urlpattern.any.html": [ + "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/:bar*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/*?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/**\"}] Inputs: [{\"pathname\":\"/foo\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"}] Inputs: [\"./foo/bar\",\"https://example.com\"]", + "Pattern: [\"https://(sub.)?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"https://(sub(?:.))?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"data\\\\:text/javascript,let x = 100/:tens?5;\"] Inputs: [\"data:text/javascript,let x = 100/5;\"]", "Pattern: [{\"hostname\":\"bad\\\\:hostname\"}] Inputs: undefined", "Pattern: [{\"hostname\":\"bad|hostname\"}] Inputs: undefined", "Pattern: [] Inputs: [\"https://example.com/\"]", @@ -3995,13 +4154,27 @@ "Pattern: [] Inputs: []", "Pattern: [{\"pathname\":\"{:foo}{(.*)bar}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", "Pattern: [{\"pathname\":\"{:foo}{bar(.*)}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", + "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"*/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*\\\\/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*/{*}\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", - "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]" + "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", + "Pattern: [{\"pathname\":\"./foo\"}] Inputs: [{\"pathname\":\"./foo\"}]", + "Pattern: [{\"pathname\":\"../foo\"}] Inputs: [{\"pathname\":\"../foo\"}]", + "Pattern: [{\"pathname\":\":foo./\"}] Inputs: [{\"pathname\":\"bar./\"}]", + "Pattern: [{\"pathname\":\":foo../\"}] Inputs: [{\"pathname\":\"bar../\"}]" ], "urlpattern.any.worker.html": [ + "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/:bar*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/*?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/**\"}] Inputs: [{\"pathname\":\"/foo\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"}] Inputs: [\"./foo/bar\",\"https://example.com\"]", + "Pattern: [\"https://(sub.)?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"https://(sub(?:.))?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"data\\\\:text/javascript,let x = 100/:tens?5;\"] Inputs: [\"data:text/javascript,let x = 100/5;\"]", "Pattern: [{\"hostname\":\"bad\\\\:hostname\"}] Inputs: undefined", "Pattern: [{\"hostname\":\"bad|hostname\"}] Inputs: undefined", "Pattern: [] Inputs: [\"https://example.com/\"]", @@ -4009,13 +4182,27 @@ "Pattern: [] Inputs: []", "Pattern: [{\"pathname\":\"{:foo}{(.*)bar}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", "Pattern: [{\"pathname\":\"{:foo}{bar(.*)}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", + "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"*/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*\\\\/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*/{*}\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", - "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]" + "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", + "Pattern: [{\"pathname\":\"./foo\"}] Inputs: [{\"pathname\":\"./foo\"}]", + "Pattern: [{\"pathname\":\"../foo\"}] Inputs: [{\"pathname\":\"../foo\"}]", + "Pattern: [{\"pathname\":\":foo./\"}] Inputs: [{\"pathname\":\"bar./\"}]", + "Pattern: [{\"pathname\":\":foo../\"}] Inputs: [{\"pathname\":\"bar../\"}]" ], "urlpattern.https.any.html": [ + "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/:bar*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/*?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/**\"}] Inputs: [{\"pathname\":\"/foo\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"}] Inputs: [\"./foo/bar\",\"https://example.com\"]", + "Pattern: [\"https://(sub.)?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"https://(sub(?:.))?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"data\\\\:text/javascript,let x = 100/:tens?5;\"] Inputs: [\"data:text/javascript,let x = 100/5;\"]", "Pattern: [{\"hostname\":\"bad\\\\:hostname\"}] Inputs: undefined", "Pattern: [{\"hostname\":\"bad|hostname\"}] Inputs: undefined", "Pattern: [] Inputs: [\"https://example.com/\"]", @@ -4023,13 +4210,27 @@ "Pattern: [] Inputs: []", "Pattern: [{\"pathname\":\"{:foo}{(.*)bar}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", "Pattern: [{\"pathname\":\"{:foo}{bar(.*)}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", + "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"*/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*\\\\/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*/{*}\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", - "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]" + "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", + "Pattern: [{\"pathname\":\"./foo\"}] Inputs: [{\"pathname\":\"./foo\"}]", + "Pattern: [{\"pathname\":\"../foo\"}] Inputs: [{\"pathname\":\"../foo\"}]", + "Pattern: [{\"pathname\":\":foo./\"}] Inputs: [{\"pathname\":\"bar./\"}]", + "Pattern: [{\"pathname\":\":foo../\"}] Inputs: [{\"pathname\":\"bar../\"}]" ], "urlpattern.https.any.worker.html": [ + "Pattern: [{\"pathname\":\"/foo/:bar?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/:bar*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/*?\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/(.*)*\"}] Inputs: [{\"pathname\":\"/foo\"}]", + "Pattern: [{\"pathname\":\"/foo/**\"}] Inputs: [{\"pathname\":\"/foo\"}]", "Pattern: [{\"pathname\":\"/foo/bar\"}] Inputs: [\"./foo/bar\",\"https://example.com\"]", + "Pattern: [\"https://(sub.)?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"https://(sub(?:.))?example.com/foo\"] Inputs: [\"https://example.com/foo\"]", + "Pattern: [\"data\\\\:text/javascript,let x = 100/:tens?5;\"] Inputs: [\"data:text/javascript,let x = 100/5;\"]", "Pattern: [{\"hostname\":\"bad\\\\:hostname\"}] Inputs: undefined", "Pattern: [{\"hostname\":\"bad|hostname\"}] Inputs: undefined", "Pattern: [] Inputs: [\"https://example.com/\"]", @@ -4037,10 +4238,15 @@ "Pattern: [] Inputs: []", "Pattern: [{\"pathname\":\"{:foo}{(.*)bar}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", "Pattern: [{\"pathname\":\"{:foo}{bar(.*)}\"}] Inputs: [{\"pathname\":\"foobarbaz\"}]", + "Pattern: [{\"pathname\":\"*{}**?\"}] Inputs: [{\"pathname\":\"foobar\"}]", "Pattern: [{\"pathname\":\"*/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*\\\\/*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", "Pattern: [{\"pathname\":\"*/{*}\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", - "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]" + "Pattern: [{\"pathname\":\"*//*\"}] Inputs: [{\"pathname\":\"foo/bar\"}]", + "Pattern: [{\"pathname\":\"./foo\"}] Inputs: [{\"pathname\":\"./foo\"}]", + "Pattern: [{\"pathname\":\"../foo\"}] Inputs: [{\"pathname\":\"../foo\"}]", + "Pattern: [{\"pathname\":\":foo./\"}] Inputs: [{\"pathname\":\"bar./\"}]", + "Pattern: [{\"pathname\":\":foo../\"}] Inputs: [{\"pathname\":\"bar../\"}]" ] }, "compression": {