diff options
Diffstat (limited to 'tests')
56 files changed, 1098 insertions, 115 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini index faa00f45ecf..d4f62ed7113 100644 --- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -7,7 +7,7 @@ expected: FAIL [Opening a blob URL in a new window immediately before revoking it works.] - expected: TIMEOUT + expected: FAIL [Opening a blob URL in a noopener about:blank window immediately before revoking it works.] expected: TIMEOUT diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 548eb63cd89..53229d83310 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -185381,19 +185381,6 @@ {} ] ], - "outline-with-padding-001.html": [ - "716491ca25eae11238b7240a3635bdb8a88187cf", - [ - null, - [ - [ - "/css/css-ui/reference/outline-with-padding-001-ref.html", - "==" - ] - ], - {} - ] - ], "resize-change-margin.html": [ "a957ac931e8647958baf0d1891d3e69dd4435c0d", [ @@ -244783,6 +244770,30 @@ ] }, "input": { + "autocomplete-address-novalid.html": [ + "a0646214e079e6fffad945b763337beadaf16b0f", + [] + ], + "autocomplete-empty-novalid.html": [ + "20b35d678f7fb2af1c4f992fce5f2569e85fcb4d", + [] + ], + "autocomplete-section-novalid.html": [ + "9d5e8a1187a6ec6ae7b5d760a222248c1b522f2c", + [] + ], + "autocomplete-text-isvalid.html": [ + "2faa347bd28d45d8d5efbc6ba26c1d64a293a077", + [] + ], + "autocomplete-token-novalid.html": [ + "544ca79dfdb07b8135dfd22aab643f92a7e9d871", + [] + ], + "autocomplete-work-novalid.html": [ + "2ff29bd9cc01a490303cd65325f7d249b8789021", + [] + ], "list-novalid.html": [ "63f43af1f5a286568817d4c89cbe7860675b5140", [] @@ -258037,9 +258048,61 @@ [] ], "messages.json": [ - "6c0e2c035e931e12e701fd9d6c145216e4a8bb6f", + "8e32e24ca2accb8c2991306fac5d83256273a7ad", [] ], + "select": { + "autocomplete-address-novalid.html": [ + "7e4087ab37645e4458358664519c08e3ca83d71e", + [] + ], + "autocomplete-empty-novalid.html": [ + "a45757df2d23fcc7a9952adda9d21784e009b262", + [] + ], + "autocomplete-isvalid.html": [ + "065b764b3d2896f108d15859b0ddb69bf72de8ec", + [] + ], + "autocomplete-section-novalid.html": [ + "084fc2c91763a944af8c25163990b61b1f72cefa", + [] + ], + "autocomplete-token-novalid.html": [ + "267c4d40c28423ec698fdce2fc022887978db17d", + [] + ], + "autocomplete-work-novalid.html": [ + "c26b4f8531f40dcfd816392af4c6f0b94c1f363e", + [] + ] + }, + "textarea": { + "autocomplete-address-novalid.html": [ + "1061d9a620278cf0477632b33d0fc5d2ac69afb7", + [] + ], + "autocomplete-empty-novalid.html": [ + "d222846b4ff864cf90c3b0d934e1a2dfec2e895b", + [] + ], + "autocomplete-isvalid.html": [ + "23bdb9ab8fca96bf4c03a004c6d9f00d733d7dcc", + [] + ], + "autocomplete-section-novalid.html": [ + "ec1038b00f3941babc9edd0f8fd4fc9c0c7f0e68", + [] + ], + "autocomplete-token-novalid.html": [ + "761495b52de60d7396479f78419ab71d918a3bff", + [] + ], + "autocomplete-work-novalid.html": [ + "6818e26c89126093368e50d28b246a463c5a3cda", + [] + ] + }, "tools": { "build-svg-tests.py": [ "dd3aa3844e9093cd3970e03677eed748a7df7509", @@ -299964,10 +300027,6 @@ "345be332be504f37a277788697a5047d60498aa8", [] ], - "outline-with-padding-001-ref.html": [ - "62b0c41757dd1bb4e323c8a6753f82c30c98ce7a", - [] - ], "text-overflow-001-ref.html": [ "9e9303106a82dea9433ec61fa9ec0df8950ae38f", [] @@ -347594,7 +347653,7 @@ [] ], "virtualenv.py": [ - "400debc88e46910d2641e728fc4adb86a88568e0", + "18edcc04fb4d528e6566da10902a9ac964b42a65", [] ], "wpt.py": [ @@ -348239,7 +348298,7 @@ [] ], "wptcommandline.py": [ - "66b97fd89535894ccb0e5b198304c3cf040b2a2d", + "5f07e7e6520f028c2d4418a4c2bde782a50a84ae", [] ], "wptlogging.py": [ @@ -354250,9 +354309,17 @@ "82be8e7ce72edab7050b14cccc658ff39ddfe632", [] ], + "static-import-syntax-error.js": [ + "3a20e792c455ee53c26066f99afd79b041a46fb6", + [] + ], "static-import-worker.js": [ "19a347999d386fd4df8dc831c6d164b27630ef7a", [] + ], + "syntax-error.js": [ + "8c5c4df671bcc3f75ac1e474fc651927e57e8701", + [] ] }, "shared-worker-options-credentials.html.headers": [ @@ -399121,7 +399188,7 @@ ] ], "CSSTransition-effect.tentative.html": [ - "a38bc21bde05b95f14963d3a6543cef40f193e5a", + "5ccb201082e3c35014648ccda92b1bbf6eef3795", [ null, {} @@ -399176,6 +399243,13 @@ {} ] ], + "KeyframeEffect-setKeyframes.tentative.html": [ + "df11c28234e0a984ead5ecf630f2a80ddff1c4b6", + [ + null, + {} + ] + ], "KeyframeEffect-target.tentative.html": [ "dbb2a43f784db98317c4d37b32a376f6c27213ce", [ @@ -402810,6 +402884,13 @@ {} ] ], + "update-subpixel-rem-unit.html": [ + "98d4f00f92ae90165dd9b0c82cf0496523bc9c2a", + [ + null, + {} + ] + ], "urls": { "empty.html": [ "3ab7079396c517d7abd6334b0cfadf7eda471115", @@ -403672,7 +403753,7 @@ ] ], "CSSStyleSheet-constructable-duplicate.html": [ - "30a3ed1d09bbbd779d7b56df91908de948b6bc4b", + "579f5d0fcedc44b38ad98a94610e01850a3fef5d", [ null, {} @@ -434246,6 +434327,13 @@ {} ] ], + "img-alt-crash-001.html": [ + "b057967e7e967b1b3113c69f71f1298b86ce4df8", + [ + null, + {} + ] + ], "img-aspect-ratio.html": [ "eceef92a6418f3d74ffbd13a08d8e648dff42a3f", [ @@ -434392,7 +434480,7 @@ ] }, "unmapped-attributes.html": [ - "3f457eb492f0b72b2a9c5891e8784d0b69958b38", + "5824f836f0d654c116a55a252dfbda5fc6e5bbc8", [ null, {} @@ -560713,7 +560801,7 @@ ] ], "dedicated-worker-import-failure.html": [ - "33eeea261893bc2d920bb348efff7a07f264729f", + "4c705e73251f41d8b7ff796cda5a5629968ec130", [ null, {} @@ -560776,6 +560864,13 @@ {} ] ], + "dedicated-worker-parse-error-failure.html": [ + "99eae49fc91296c55c51fb772bc4d46058ea0693", + [ + null, + {} + ] + ], "shared-worker-import-blob-url.any.js": [ "f56c1a5525f8c46e5d06f6549b3f355c4ccb4a0a", [ diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini index 4bfb0c2053a..f29da48a2a0 100644 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini @@ -1,4 +1,4 @@ -[hit-test-floats-004.html] +[hit-test-floats-003.html] [Miss float below something else] expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini index 37478df2204..2f8e485949f 100644 --- a/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini +++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini @@ -23,3 +23,9 @@ [After setting a transition's effect to null, it should be possible to interrupt that transition] expected: FAIL + [A transition with a replaced effect still exhibits the regular transition reversing behavior] + expected: FAIL + + [A transition with no effect still returns the original transitionProperty] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html.ini new file mode 100644 index 00000000000..d024e2da5f6 --- /dev/null +++ b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html.ini @@ -0,0 +1,16 @@ +[KeyframeEffect-setKeyframes.tentative.html] + [A transition with replaced keyframes still returns the original transitionProperty] + expected: FAIL + + [Keyframes set using setKeyframes() are reflected in computed style for a running transition] + expected: FAIL + + [A transition with no keyframes still exhibits the regular transition reversing behavior] + expected: FAIL + + [A transition with replaced keyframes still exhibits the regular transition reversing behavior] + expected: FAIL + + [A transition with no keyframes still returns the original transitionProperty] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-ui/outline-with-padding-001.html.ini b/tests/wpt/metadata/css/css-ui/outline-with-padding-001.html.ini deleted file mode 100644 index b7d0985d37a..00000000000 --- a/tests/wpt/metadata/css/css-ui/outline-with-padding-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[outline-with-padding-001.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/update-subpixel-rem-unit.html.ini b/tests/wpt/metadata/css/css-values/update-subpixel-rem-unit.html.ini new file mode 100644 index 00000000000..948ce05488b --- /dev/null +++ b/tests/wpt/metadata/css/css-values/update-subpixel-rem-unit.html.ini @@ -0,0 +1,4 @@ +[update-subpixel-rem-unit.html] + [Check that a 0.1px change in root font-size affect rem units.] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini index 628b1fab770..c884dc82eab 100644 --- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini +++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini @@ -2,3 +2,6 @@ [listeners are called when <iframe> is resized] expected: FAIL + [listeners are called correct number of times] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini index 171592fc08f..6ef8bb1049f 100644 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -2,3 +2,6 @@ [elementsFromPoint on the root document for points in iframe elements] expected: FAIL + [elementsFromPoint on inner documents] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-duplicate.html.ini b/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-duplicate.html.ini index 02e7376e855..a78d3b49fd2 100644 --- a/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-duplicate.html.ini +++ b/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-duplicate.html.ini @@ -2,3 +2,15 @@ [Cascade order of a stylesheet for duplicate sheets.] expected: FAIL + [Duplicate stylesheets have the right cascade position in the Document] + expected: FAIL + + [Appending duplicate stylesheets yields the correct cascade position in the Document] + expected: FAIL + + [Appending duplicate stylesheets yields the correct cascade position in the ShadowRoot] + expected: FAIL + + [Duplicate stylesheets have the right cascade position in the ShadowRoot] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 98f49140596..597ed32e119 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,24 +312,18 @@ [fetch(): separate response Content-Type: text/plain ] expected: NOTRUN - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] - expected: FAIL - - [<iframe>: separate response Content-Type: text/html;" text/plain] - expected: FAIL - [<iframe>: combined response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: combined response Content-Type: text/html */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: separate response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;x=" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index d2df9b78483..279734168dc 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -56,3 +56,6 @@ [separate text/javascript x/x] expected: FAIL + [separate text/javascript;charset=windows-1252 text/javascript] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 30e1b851fd4..cc50d2d2e03 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,9 @@ [X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!] expected: FAIL + [X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff] + expected: FAIL + + [Content-Type-Options%3A%20nosniff] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini new file mode 100644 index 00000000000..385376c7321 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_4.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini new file mode 100644 index 00000000000..dc2e45516de --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_5.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-document-with-fragment.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-document-with-fragment.html.ini index c12c0f8ae48..6852d7663de 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-document-with-fragment.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/skip-document-with-fragment.html.ini @@ -1,4 +1,8 @@ [skip-document-with-fragment.html] + expected: TIMEOUT [Autofocus elements in iframed documents with URL fragments should be skipped.] expected: FAIL + [Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html.ini b/tests/wpt/metadata/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html.ini new file mode 100644 index 00000000000..9c5e9de0c8e --- /dev/null +++ b/tests/wpt/metadata/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html.ini @@ -0,0 +1,4 @@ +[img-alt-crash-001.html] + [Should not crash.] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini index f3e6ba959a0..ca40f8b0d74 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini @@ -29,3 +29,6 @@ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 37004 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 26105.\n\t[26105\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n] expected: FAIL + [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42281 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 17995.\n\t[17995\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index 729e7e05482..9513f7b9674 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -164,3 +164,9 @@ [X SNR (-158.2459298453396 dB) is not greater than or equal to 65.737. Got -158.2459298453396.] expected: FAIL + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[19030\]\t3.5714253612646400e+14\t-7.3546999692916870e-1\t3.5714253612646475e+14\t4.8559769619107963e+14\t3.8985999999999999e-3\n\t[19031\]\t-3.6017334461212158e-1\t-6.9157749414443970e-1\t3.3140414953231812e-1\t4.7920030992665957e-1\t3.8985999999999999e-3\n\t[38059\]\t7.0901769751756800e+14\t-9.8956179618835449e-1\t7.0901769751756900e+14\t7.1649663542853025e+14\t3.8985999999999999e-3\n\t[38060\]\t-8.8409073650836945e-2\t-9.9664616584777832e-1\t9.0823709219694138e-1\t9.1129341918891205e-1\t3.8985999999999999e-3\n\tMax AbsError of 7.0901769751756900e+14 at index of 38059.\n\tMax RelError of 7.1649663542853025e+14 at index of 38059.\n] + expected: FAIL + + [X SNR (-254.56109005477157 dB) is not greater than or equal to 65.737. Got -254.56109005477157.] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini index f584fce5df1..268949ced5c 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,5 +1,4 @@ [005.html] - expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html new file mode 100644 index 00000000000..a0646214e07 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- address type must come before field type --> + <input autocomplete="country shipping"> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html new file mode 100644 index 00000000000..20b35d678f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- empty --> + <input autocomplete=""> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html new file mode 100644 index 00000000000..9d5e8a1187a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <input autocomplete="country section-blue"> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html new file mode 100644 index 00000000000..2faa347bd28 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is valid</title> +</head> +<body> + + <!-- country --> + <input autocomplete="country"> + <input autocomplete="billing country"> + <input autocomplete="section-blue country"> + <input autocomplete="section-blue billing country"> + + <!-- cc-type --> + <input autocomplete="cc-type"> + <input autocomplete="billing cc-type"> + <input autocomplete="section-blue cc-type"> + <input autocomplete="section-blue billing cc-type"> + + <!-- cc-exp-month --> + <input autocomplete="cc-exp-month"> + <input autocomplete="billing cc-exp-month"> + <input autocomplete="section-blue cc-exp-month"> + <input autocomplete="section-blue billing cc-exp-month"> + + <!-- cc-exp-year --> + <input autocomplete="cc-exp-year"> + <input autocomplete="billing cc-exp-year"> + <input autocomplete="section-blue cc-exp-year"> + <input autocomplete="section-blue billing cc-exp-year"> + <!-- tel-country-code --> + <input autocomplete="work tel-country-code"> + <input autocomplete="billing work tel-country-code"> + <input autocomplete="section-blue work tel-country-code"> + <input autocomplete="section-blue billing work tel-country-code"> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html new file mode 100644 index 00000000000..544ca79dfdb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- unknown field type --> + <input autocomplete="qwerty"> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html new file mode 100644 index 00000000000..2ff29bd9cc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <input autocomplete="country work"> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/messages.json b/tests/wpt/web-platform-tests/conformance-checkers/messages.json index 6c0e2c035e9..8e32e24ca2a 100644 --- a/tests/wpt/web-platform-tests/conformance-checkers/messages.json +++ b/tests/wpt/web-platform-tests/conformance-checkers/messages.json @@ -967,6 +967,11 @@ "html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/img/usemap-bad-value-novalid.html": "Bad value \u201c#\u201d for attribute \u201cusemap\u201d on element \u201cimg\u201d: Bad hash-name reference: A hash-name reference must have at least one character after \u201c#\u201d.", "html/elements/img/width-height-negative-novalid.html": "Bad value \u201c-1\u201d for attribute \u201cwidth\u201d on element \u201cimg\u201d: Bad non-negative integer: Expected a digit but saw \u201c-\u201d instead.", + "html/elements/input/autocomplete-address-novalid.html": "Bad value \u201ccountry shipping\u201d for attribute \u201cautocomplete\u201d on element \u201cinput\u201d: The token \u201cshipping\u201d must only appear as either the first token in a list of autofill detail tokens, or, if the first token is a \u201csection-*\u201d indicator, as the second token.", + "html/elements/input/autocomplete-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cautocomplete\u201d on element \u201cinput\u201d: Must not be empty.", + "html/elements/input/autocomplete-section-novalid.html": "Bad value \u201ccountry section-blue\u201d for attribute \u201cautocomplete\u201d on element \u201cinput\u201d: A \u201csection-*\u201d indicator must only appear as the first token in a list of autofill detail tokens.", + "html/elements/input/autocomplete-token-novalid.html": "Bad value \u201cqwerty\u201d for attribute \u201cautocomplete\u201d on element \u201cinput\u201d: The string \u201cqwerty\u201d is not a valid autofill field name.", + "html/elements/input/autocomplete-work-novalid.html": "Bad value \u201ccountry work\u201d for attribute \u201cautocomplete\u201d on element \u201cinput\u201d: The token \u201cwork\u201d must only appear before any autofill field names.", "html/elements/input/list-novalid.html": "The \u201clist\u201d attribute of the \u201cinput\u201d element must refer to a \u201cdatalist\u201d element.", "html/elements/input/type-image-formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", "html/elements/input/type-image-formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", @@ -2360,6 +2365,16 @@ "html/parser/u10ffff-charref-novalid.html": "Character reference expands to an astral non-character (U+10ffff).", "html/parser/ufffe-charref-novalid.html": "Character reference expands to a non-character (U+fffe).", "html/parser/unassigned-charref-novalid.html": "Character reference expands to a permanently unassigned code point.", + "select/autocomplete-address-novalid.html": "Bad value \u201ccountry shipping\u201d for attribute \u201cautocomplete\u201d on element \u201cselect\u201d: Bad autocomplete detail tokens (any): The token \u201cshipping\u201d must only appear as either the first token in a list of autofill detail tokens, or, if the first token is a \u201csection-*\u201d indicator, as the second token.", + "select/autocomplete-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cautocomplete\u201d on element \u201cselect\u201d: Bad autocomplete detail tokens (any): Must not be empty.", + "select/autocomplete-section-novalid.html": "Bad value \u201ccountry section-blue\u201d for attribute \u201cautocomplete\u201d on element \u201cselect\u201d: Bad autocomplete detail tokens (any): A \u201csection-*\u201d indicator must only appear as the first token in a list of autofill detail tokens.", + "select/autocomplete-token-novalid.html": "Bad value \u201cqwerty\u201d for attribute \u201cautocomplete\u201d on element \u201cselect\u201d: Bad autocomplete detail tokens (any): The string \u201cqwerty\u201d is not a valid autofill field name.", + "select/autocomplete-work-novalid.html": "Bad value \u201ccountry work\u201d for attribute \u201cautocomplete\u201d on element \u201cselect\u201d: Bad autocomplete detail tokens (any): The token \u201cwork\u201d must only appear before any autofill field names.", + "textarea/autocomplete-address-novalid.html": "Bad value \u201ccountry shipping\u201d for attribute \u201cautocomplete\u201d on element \u201ctextarea\u201d: Bad autocomplete detail tokens (any): The token \u201cshipping\u201d must only appear as either the first token in a list of autofill detail tokens, or, if the first token is a \u201csection-*\u201d indicator, as the second token.", + "textarea/autocomplete-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cautocomplete\u201d on element \u201ctextarea\u201d: Bad autocomplete detail tokens (any): Must not be empty.", + "textarea/autocomplete-section-novalid.html": "Bad value \u201ccountry section-blue\u201d for attribute \u201cautocomplete\u201d on element \u201ctextarea\u201d: Bad autocomplete detail tokens (any): A \u201csection-*\u201d indicator must only appear as the first token in a list of autofill detail tokens.", + "textarea/autocomplete-token-novalid.html": "Bad value \u201cqwerty\u201d for attribute \u201cautocomplete\u201d on element \u201ctextarea\u201d: Bad autocomplete detail tokens (any): The string \u201cqwerty\u201d is not a valid autofill field name.", + "textarea/autocomplete-work-novalid.html": "Bad value \u201ccountry work\u201d for attribute \u201cautocomplete\u201d on element \u201ctextarea\u201d: Bad autocomplete detail tokens (any): The token \u201cwork\u201d must only appear before any autofill field names.", "xhtml/attributes/accesskey/003-novalid.xhtml": "Bad value \u201ca b \u306c c \u306c\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Duplicate key label. Each key label must be unique.", "xhtml/attributes/accesskey/004-novalid.xhtml": "Bad value \u201ca b \u307b\u3052\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Key label has multiple characters. Each key label must be a single character.", "xhtml/attributes/data/002-novalid.xhtml": "\u201cdata-*\u201d attributes must not have characters from the range \u201cA\u201d\u2026\u201cZ\u201d in the name.", diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-address-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-address-novalid.html new file mode 100644 index 00000000000..7e4087ab376 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-address-novalid.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- address type must come before field type --> + <select autocomplete="country shipping"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-empty-novalid.html new file mode 100644 index 00000000000..a45757df2d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-empty-novalid.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- empty --> + <select autocomplete=""> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-isvalid.html new file mode 100644 index 00000000000..065b764b3d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-isvalid.html @@ -0,0 +1,180 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is valid</title> +</head> +<body> + + <select autocomplete="on"></select> + <select autocomplete="off"></select> + + <!-- country --> + <select autocomplete="country"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + + <select autocomplete="billing country"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + + <select autocomplete="section-blue country"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + + <select autocomplete="section-blue billing country"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + + <!-- cc-type --> + <select autocomplete="cc-type"> + <option>Visa</option> + <option>Mastercard</option> + </select> + + <select autocomplete="billing cc-type"> + <option>Visa</option> + <option>Mastercard</option> + </select> + + <select autocomplete="section-blue cc-type"> + <option>Visa</option> + <option>Mastercard</option> + </select> + + <select autocomplete="section-blue billing cc-type"> + <option>Visa</option> + <option>Mastercard</option> + </select> + + <!-- cc-exp-month --> + <select autocomplete="cc-exp-month"> + <option>01</option> + <option>02</option> + <option>03</option> + <option>04</option> + <option>05</option> + <option>06</option> + <option>07</option> + <option>08</option> + <option>09</option> + <option>10</option> + <option>11</option> + <option>12</option> + </select> + + <select autocomplete="billing cc-exp-month"> + <option>01</option> + <option>02</option> + <option>03</option> + <option>04</option> + <option>05</option> + <option>06</option> + <option>07</option> + <option>08</option> + <option>09</option> + <option>10</option> + <option>11</option> + <option>12</option> + </select> + + <select autocomplete="section-blue cc-exp-month"> + <option>01</option> + <option>02</option> + <option>03</option> + <option>04</option> + <option>05</option> + <option>06</option> + <option>07</option> + <option>08</option> + <option>09</option> + <option>10</option> + <option>11</option> + <option>12</option> + </select> + + <select autocomplete="section-blue billing cc-exp-month"> + <option>01</option> + <option>02</option> + <option>03</option> + <option>04</option> + <option>05</option> + <option>06</option> + <option>07</option> + <option>08</option> + <option>09</option> + <option>10</option> + <option>11</option> + <option>12</option> + </select> + + <!-- cc-exp-year --> + <select autocomplete="cc-exp-year"> + <option>2020</option> + <option>2021</option> + <option>2022</option> + </select> + + <select autocomplete="billing cc-exp-year"> + <option>2020</option> + <option>2021</option> + <option>2022</option> + </select> + + <select autocomplete="section-blue cc-exp-year"> + <option>2020</option> + <option>2021</option> + <option>2022</option> + </select> + + <select autocomplete="section-blue billing cc-exp-year"> + <option>2020</option> + <option>2021</option> + <option>2022</option> + </select> + + <!-- tel-country-code --> + <select autocomplete="work tel-country-code"> + <option>+1 US</option> + <option>+33 France</option> + <option>+44 UK</option> + <option>+81 Japan</option> + </select> + + <select autocomplete="billing work tel-country-code"> + <option>+1 US</option> + <option>+33 France</option> + <option>+44 UK</option> + <option>+81 Japan</option> + </select> + + <select autocomplete="section-blue work tel-country-code"> + <option>+1 US</option> + <option>+33 France</option> + <option>+44 UK</option> + <option>+81 Japan</option> + </select> + + <select autocomplete="section-blue billing work tel-country-code"> + <option>+1 US</option> + <option>+33 France</option> + <option>+44 UK</option> + <option>+81 Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-section-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-section-novalid.html new file mode 100644 index 00000000000..084fc2c9176 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-section-novalid.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <select autocomplete="country section-blue"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-token-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-token-novalid.html new file mode 100644 index 00000000000..267c4d40c28 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-token-novalid.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- unknown field type --> + <select autocomplete="qwerty"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-work-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-work-novalid.html new file mode 100644 index 00000000000..c26b4f8531f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/select/autocomplete-work-novalid.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <select autocomplete="country work"> + <option>US</option> + <option>France</option> + <option>UK</option> + <option>Japan</option> + </select> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-address-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-address-novalid.html new file mode 100644 index 00000000000..1061d9a6202 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-address-novalid.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- address type must come before field type --> + <textarea autocomplete="country shipping"> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-empty-novalid.html new file mode 100644 index 00000000000..d222846b4ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-empty-novalid.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- empty --> + <textarea autocomplete=""> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-isvalid.html new file mode 100644 index 00000000000..23bdb9ab8fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-isvalid.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is valid</title> +</head> +<body> + + <textarea autocomplete="on"></textarea> + <textarea autocomplete="off"></textarea> + + <!-- country --> + <textarea autocomplete="country"> + </textarea> + + <textarea autocomplete="billing country"> + </textarea> + + <textarea autocomplete="section-blue country"> + </textarea> + + <textarea autocomplete="section-blue billing country"> + </textarea> + + <!-- cc-type --> + <textarea autocomplete="cc-type"> + </textarea> + + <textarea autocomplete="billing cc-type"> + </textarea> + + <textarea autocomplete="section-blue cc-type"> + </textarea> + + <textarea autocomplete="section-blue billing cc-type"> + </textarea> + + <!-- cc-exp-month --> + <textarea autocomplete="cc-exp-month"> + </textarea> + + <textarea autocomplete="billing cc-exp-month"> + </textarea> + + <textarea autocomplete="section-blue cc-exp-month"> + </textarea> + + <textarea autocomplete="section-blue billing cc-exp-month"> + </textarea> + + <!-- cc-exp-year --> + <textarea autocomplete="cc-exp-year"> + </textarea> + + <textarea autocomplete="billing cc-exp-year"> + </textarea> + + <textarea autocomplete="section-blue cc-exp-year"> + </textarea> + + <textarea autocomplete="section-blue billing cc-exp-year"> + </textarea> + + <!-- tel-country-code --> + <textarea autocomplete="work tel-country-code"> + </textarea> + + <textarea autocomplete="billing work tel-country-code"> + </textarea> + + <textarea autocomplete="section-blue work tel-country-code"> + </textarea> + + <textarea autocomplete="section-blue billing work tel-country-code"> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-section-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-section-novalid.html new file mode 100644 index 00000000000..ec1038b00f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-section-novalid.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <textarea autocomplete="country section-blue"> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-token-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-token-novalid.html new file mode 100644 index 00000000000..761495b52de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-token-novalid.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- unknown field type --> + <textarea autocomplete="qwerty"> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-work-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-work-novalid.html new file mode 100644 index 00000000000..6818e26c891 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/textarea/autocomplete-work-novalid.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset=utf-8> +<title>autocomplete attribute is invalid</title> +</head> +<body> + + <!-- work must come before field type --> + <textarea autocomplete="country work"> + </textarea> + +</body> +</html> + + diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html index a38bc21bde0..5ccb201082e 100644 --- a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html +++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html @@ -179,7 +179,6 @@ promise_test(async t => { transition.effect = new KeyframeEffect(div, { marginLeft: [ '0px' , '100px'] }, 100 * MS_PER_SEC); - assert_equals(transition.transitionProperty, 'left'); assert_true(transition.pending); // As a sanity check, check that the transition actually exits the @@ -189,4 +188,52 @@ promise_test(async t => { }, 'After setting a new keyframe effect on a play-pending transition,' + ' the transition remains pending'); +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + transition.effect = null; + + assert_equals(transition.transitionProperty, 'left'); +}, 'A transition with no effect still returns the original transitionProperty'); + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + + // Seek to the middle and get the portion. + transition.currentTime = 50 * MS_PER_SEC; + const portion = transition.effect.getComputedTiming().progress; + + // Replace the effect but keep the original timing + transition.effect = new KeyframeEffect( + div, + { top: ['200px', '300px', '100px'] }, + transition.effect.getTiming() + ); + + // Reverse the transition + div.style.left = '0px'; + const reversedTransition = div.getAnimations()[0]; + + const expectedDuration = 100 * MS_PER_SEC * portion; + assert_approx_equals( + reversedTransition.effect.getComputedTiming().activeDuration, + expectedDuration, + 1 + ); +}, 'A transition with a replaced effect still exhibits the regular transition' + + ' reversing behavior'); + </script> diff --git a/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html new file mode 100644 index 00000000000..df11c28234e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html @@ -0,0 +1,117 @@ +<!doctype html> +<meta charset=utf-8> +<title>KeyframeEffect.setKeyframes() for CSS transitions</title> +<!-- TODO: Add a more specific link for this once it is specified. --> +<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support/helper.js"></script> +<div id="log"></div> +<script> +'use strict'; + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + transition.effect.setKeyframes({ left: ['200px', '300px', '100px'] }); + + assert_equals(getComputedStyle(div).left, '200px'); +}, 'Keyframes set using setKeyframes() are reflected in computed style for' + + ' a running transition'); + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + transition.effect.setKeyframes({ top: ['0px', '100px', '300px'] }); + + assert_equals(transition.transitionProperty, 'left'); +}, 'A transition with replaced keyframes still returns the original' + + ' transitionProperty'); + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + transition.effect.setKeyframes({ }); + + assert_equals(transition.transitionProperty, 'left'); +}, 'A transition with no keyframes still returns the original' + + ' transitionProperty'); + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + + // Seek to the middle and get the portion. + // + // We deliberately DON'T set transition-timing-function to linear so that we + // can test that it is applied correctly. + transition.currentTime = 50 * MS_PER_SEC; + const portion = transition.effect.getComputedTiming().progress; + + transition.effect.setKeyframes({ top: ['200px', '300px', '100px'] }); + + // Reverse transition + div.style.left = '0px'; + const reversedTransition = div.getAnimations()[0]; + + const expectedDuration = 100 * MS_PER_SEC * portion; + assert_approx_equals( + reversedTransition.effect.getComputedTiming().activeDuration, + expectedDuration, + 1 + ); +}, 'A transition with replaced keyframes still exhibits the regular transition' + + ' reversing behavior'); + +test(t => { + const div = addDiv(t); + + div.style.left = '0px'; + getComputedStyle(div).transitionProperty; + div.style.transition = 'left 100s'; + div.style.left = '100px'; + + const transition = div.getAnimations()[0]; + + transition.currentTime = 50 * MS_PER_SEC; + const portion = transition.effect.getComputedTiming().progress; + + transition.effect.setKeyframes({ }); + + div.style.left = '0px'; + const reversedTransition = div.getAnimations()[0]; + + const expectedDuration = 100 * MS_PER_SEC * portion; + assert_approx_equals( + reversedTransition.effect.getComputedTiming().activeDuration, + expectedDuration, + 1 + ); +}, 'A transition with no keyframes still exhibits the regular transition' + + ' reversing behavior'); + +</script> diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html b/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html deleted file mode 100644 index 716491ca25e..00000000000 --- a/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE html> -<title>Outline with padding</title> -<link rel="match" href="reference/outline-with-padding-001-ref.html"> -<link rel="help" href="https://drafts.csswg.org/css-ui/#outline-props"> -<link rel="help" href="https://crbug.com/1048070"> -<link rel="author" href="mailto:kojii@chromium.org"> -<meta name="assert" content="Tests the rendering of outline applied to a box with padding"> -<style> -inline-block { - display: inline-block; - width: 65px; - color: transparent; - background: orange; -} -</style> -<body> -<div style="display: flex"> - <span style="padding-left: 99px; outline: auto"> - <span> - <inline-block>Previous</inline-block> - </span> - </span> -</div> - -<div style="width: 50px; padding-left: 99px; outline: auto"> - <span> - <inline-block>Previous</inline-block> - </span> -</div> -</body> diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html deleted file mode 100644 index 62b0c41757d..00000000000 --- a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html +++ /dev/null @@ -1,24 +0,0 @@ -<!DOCTYPE html> -<style> -inline-block { - display: inline-block; - width: 65px; - color: transparent; - background: orange; -} -spacer { - display: inline-block; - width: 99px; -} -</style> -<body> -<div style="display: flex"> - <span style="outline: auto"> - <spacer></spacer><inline-block>Previous</inline-block> - </span> -</div> - -<div style="display: inline-block; outline: auto; white-space: nowrap;"> - <spacer></spacer><inline-block>Previous</inline-block> -</div> -</body> diff --git a/tests/wpt/web-platform-tests/css/css-values/update-subpixel-rem-unit.html b/tests/wpt/web-platform-tests/css/css-values/update-subpixel-rem-unit.html new file mode 100644 index 00000000000..98d4f00f92a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/update-subpixel-rem-unit.html @@ -0,0 +1,21 @@ +<!doctype html> +<html style="font-size:16px"> +<head> + <title>CSS Values and Units Test: rem subpixel change</title> + <link rel="help" href="https://drafts.csswg.org/css-values/#rem"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> +<body> + <div style="font-size:16px"> + <div id="remElement" style="width: 10rem"></div> + </div> + <script> + test(() => { + assert_equals(getComputedStyle(remElement).width, "160px"); + document.documentElement.style.fontSize = "16.1px"; + assert_equals(getComputedStyle(remElement).width, "161px"); + }, "Check that a 0.1px change in root font-size affect rem units."); + </script> +<body> +</html> diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html index 30a3ed1d09b..579f5d0fced 100644 --- a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html +++ b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html @@ -4,17 +4,81 @@ <link rel="help" href="https://wicg.github.io/construct-stylesheets/"> <script src = '/resources/testharness.js'></script> <script src = '/resources/testharnessreport.js'></script> -<div></div> +<div id="target"></div> <script> -test(function() { - let sheets = []; - for (let i = 0; i < 2; ++i) { +function attachShadowDiv(host) { + const shadowRoot = host.attachShadow({mode: 'open'}); + const shadowDiv = document.createElement("div"); + shadowRoot.appendChild(shadowDiv); + return shadowDiv; +} + +function blueSheetsWithIncreasingZIndex(n) { + let sheets = []; + for (let i = 0; i < n; ++i) { sheets.push(new CSSStyleSheet()); - sheets[i].replaceSync("div { z-index: " + i + " }"); + sheets[i].replaceSync("div { z-index: " + i + "; color: blue; }"); } + return sheets; +} + +let sheets = []; + +test(function() { + sheets = blueSheetsWithIncreasingZIndex(2); document.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1]]; assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade"); -}); + + document.adoptedStyleSheets = []; +}, "Duplicate stylesheets have the right cascade position in the Document"); + +test(function() { + sheets = blueSheetsWithIncreasingZIndex(2); + + const sheet = new CSSStyleSheet(); + sheet.replaceSync("div { color: red; }"); + + document.adoptedStyleSheets = [sheets[1], sheets[0]]; + assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "0", "backmost stylesheet should take precedence"); + assert_equals(getComputedStyle(document.querySelector("div")).color, "rgb(0, 0, 255)", "backmost stylesheet should take precedence"); + + document.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1], sheet]; + assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "1", "duplicate stylesheet should take the right position in the cascade"); + assert_equals(getComputedStyle(document.querySelector("div")).color, "rgb(255, 0, 0)", "backmost stylesheet should take precedence"); + + document.adoptedStyleSheets = []; +}, "Appending duplicate stylesheets yields the correct cascade position in the Document"); + +test(function() { + sheets = blueSheetsWithIncreasingZIndex(2); + + const span = document.createElement("span"); + target.appendChild(span); + attachShadowDiv(span); + + span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1]]; + assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade"); +}, "Duplicate stylesheets have the right cascade position in the ShadowRoot"); + +test(function() { + sheets = blueSheetsWithIncreasingZIndex(2); + + const sheet = new CSSStyleSheet(); + sheet.replaceSync("div { color: red; }"); + + const span = document.createElement("span"); + target.appendChild(span); + attachShadowDiv(span); + + span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0]]; + assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "0", "backmost stylesheet should take precedence"); + assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).color, "rgb(0, 0, 255)", "backmost stylesheet should take precedence"); + + span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1], sheet]; + assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade"); + assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).color, "rgb(255, 0, 0)", "backmost stylesheet should take precedence"); +}, "Appending duplicate stylesheets yields the correct cascade position in the ShadowRoot"); + </script> diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html new file mode 100644 index 00000000000..b057967e7e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html @@ -0,0 +1,15 @@ +<!doctype html> +<title>Crash test: img alt rendering in combination with style attribute selector</title> +<link rel="help" href="https://crbug.com/1057210"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + img { display: block; width: 100px; } + [style] + * {} +</style> +<img id="img" alt="alternative text"> +<script> + test(() => { + assert_equals(getComputedStyle(img).width, "100px"); + }, "Should not crash."); +</script> diff --git a/tests/wpt/web-platform-tests/html/rendering/unmapped-attributes.html b/tests/wpt/web-platform-tests/html/rendering/unmapped-attributes.html index 3f457eb492f..5824f836f0d 100644 --- a/tests/wpt/web-platform-tests/html/rendering/unmapped-attributes.html +++ b/tests/wpt/web-platform-tests/html/rendering/unmapped-attributes.html @@ -52,6 +52,10 @@ const tests = [ [ newElem("iframe"), "border", "borderRightWidth" ], [ newElem("iframe"), "border", "borderBottomWidth" ], [ newElem("iframe"), "border", "borderLeftWidth" ], + [ newElem("iframe"), "hspace", "marginLeft" ], + [ newElem("iframe"), "hspace", "marginRight" ], + [ newElem("iframe"), "vspace", "marginTop" ], + [ newElem("iframe"), "vspace", "marginBottom" ], [ newElem("marquee"), "border", "borderTopWidth" ], [ newElem("marquee"), "border", "borderRightWidth" ], [ newElem("marquee"), "border", "borderBottomWidth" ], diff --git a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py index 400debc88e4..18edcc04fb4 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py +++ b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py @@ -32,7 +32,9 @@ class Virtualenv(object): @property def exists(self): - return os.path.isdir(self.path) + # We need to check also for lib_path because different python versions + # create different library paths. + return os.path.isdir(self.path) and os.path.isdir(self.lib_path) @property def broken_link(self): diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py index 66b97fd8953..5f07e7e6520 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py @@ -5,7 +5,7 @@ import sys from collections import OrderedDict from distutils.spawn import find_executable from datetime import timedelta -from six import iterkeys, itervalues, iteritems, string_types +from six import iterkeys, itervalues, iteritems from . import config from . import wpttest @@ -538,9 +538,6 @@ def check_args(kwargs): kwargs["certutil_binary"] = path if kwargs['extra_prefs']: - # If a single pref is passed in as a string, make it a list - if isinstance(kwargs['extra_prefs'], string_types): - kwargs['extra_prefs'] = [kwargs['extra_prefs']] missing = any('=' not in prefarg for prefarg in kwargs['extra_prefs']) if missing: print("Preferences via --setpref must be in key=value format", file=sys.stderr) diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html index 33eeea26189..4c705e73251 100644 --- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html +++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html @@ -13,12 +13,6 @@ promise_test(async () => { }, 'importScripts() on module worker should throw an exception.'); promise_test(() => { - const scriptURL = 'resources/static-import-worker.js'; - const worker = new Worker(scriptURL, { type: 'classic' }); - return new Promise(resolve => worker.onerror = resolve); -}, 'Static import on classic worker should throw an exception.'); - -promise_test(() => { const scriptURL = 'resources/non-existent-worker.js'; const worker = new Worker(scriptURL, { type: 'module' }); return new Promise(resolve => worker.onerror = resolve); diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-parse-error-failure.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-parse-error-failure.html new file mode 100644 index 00000000000..99eae49fc91 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-parse-error-failure.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<title>DedicatedWorker: parse error failure</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> setup({allow_uncaught_exception: true}); </script> +<script> + +promise_test(async () => { + const scriptURL = 'resources/syntax-error.js'; + const worker = new Worker(scriptURL, { type: 'classic' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Classic worker construction for script with syntax error should dispatch ' + + 'an ErrorEvent.'); + +promise_test(async () => { + const scriptURL = 'resources/syntax-error.js'; + const worker = new Worker(scriptURL, { type: 'module' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Module worker construction for script with syntax error should dispatch ' + + 'an ErrorEvent.'); + +promise_test(async () => { + const scriptURL = 'resources/static-import-syntax-error.js'; + const worker = new Worker(scriptURL, { type: 'module' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Static import on module worker for script with syntax error should ' + + 'dispatch an ErrorEvent.'); + +promise_test(() => { + const scriptURL = 'resources/static-import-worker.js'; + const worker = new Worker(scriptURL, { type: 'classic' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Static import on classic worker should dispatch an ErrorEvent.'); + +</script> diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-syntax-error.js b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-syntax-error.js new file mode 100644 index 00000000000..3a20e792c45 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-syntax-error.js @@ -0,0 +1 @@ +import * as module from './syntax-error.js'; diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/syntax-error.js b/tests/wpt/web-platform-tests/workers/modules/resources/syntax-error.js new file mode 100644 index 00000000000..8c5c4df671b --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/syntax-error.js @@ -0,0 +1 @@ +1 + ; |