diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 74dbb217fab..aea16e67b9b 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -13543,18 +13543,6 @@ {} ] ], - "payment-request/payment-request-multiple-show-manual.https.html": [ - [ - "/payment-request/payment-request-multiple-show-manual.https.html", - {} - ] - ], - "payment-request/payment-request-show-method-manual.https.html": [ - [ - "/payment-request/payment-request-show-method-manual.https.html", - {} - ] - ], "payment-request/payment-response/complete-method-manual.https.html": [ [ "/payment-request/payment-response/complete-method-manual.https.html", @@ -144921,6 +144909,18 @@ {} ] ], + "css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html": [ + [ + "/css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html", + [ + [ + "/css/css-transforms/composited-under-rotateY-180deg-clip-perspective-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-transforms/css-rotate-2d-3d-001.html": [ [ "/css/css-transforms/css-rotate-2d-3d-001.html", @@ -273706,6 +273706,11 @@ {} ] ], + "css/css-transforms/composited-under-rotateY-180deg-clip-perspective-ref.html": [ + [ + {} + ] + ], "css/css-transforms/css-rotate-2d-3d-001-ref.html": [ [ {} @@ -292536,6 +292541,11 @@ {} ] ], + "html/browsers/windows/nested-browsing-contexts/resources/post-to-parent.html": [ + [ + {} + ] + ], "html/browsers/windows/resources/browsing-context-window.html": [ [ {} @@ -299476,6 +299486,16 @@ {} ] ], + "html/semantics/forms/form-submission-target/resources/endpoint.html": [ + [ + {} + ] + ], + "html/semantics/forms/form-submission-target/resources/reltester.js": [ + [ + {} + ] + ], "html/semantics/forms/introduction-1/contains.json": [ [ {} @@ -336759,6 +336779,12 @@ {} ] ], + "animation-worklet/animate-non-accelerated-property.https.html": [ + [ + "/animation-worklet/animate-non-accelerated-property.https.html", + {} + ] + ], "animation-worklet/animation-worklet-inside-iframe.https.html": [ [ "/animation-worklet/animation-worklet-inside-iframe.https.html", @@ -336777,6 +336803,12 @@ {} ] ], + "animation-worklet/cancel-non-accelerated-property.https.html": [ + [ + "/animation-worklet/cancel-non-accelerated-property.https.html", + {} + ] + ], "animation-worklet/current-time.https.html": [ [ "/animation-worklet/current-time.https.html", @@ -347423,6 +347455,12 @@ {} ] ], + "css/css-position/position-absolute-container-dynamic.html": [ + [ + "/css/css-position/position-absolute-container-dynamic.html", + {} + ] + ], "css/css-position/position-absolute-crash-chrome-001.html": [ [ "/css/css-position/position-absolute-crash-chrome-001.html", @@ -347441,6 +347479,12 @@ {} ] ], + "css/css-position/position-absolute-percentage-height.html": [ + [ + "/css/css-position/position-absolute-percentage-height.html", + {} + ] + ], "css/css-position/position-absolute-replaced-minmax.html": [ [ "/css/css-position/position-absolute-replaced-minmax.html", @@ -348971,6 +349015,12 @@ {} ] ], + "css/css-syntax/cdc-vs-ident-tokens.html": [ + [ + "/css/css-syntax/cdc-vs-ident-tokens.html", + {} + ] + ], "css/css-syntax/charset-is-not-a-rule.html": [ [ "/css/css-syntax/charset-is-not-a-rule.html", @@ -373279,6 +373329,12 @@ {} ] ], + "html/browsers/windows/nested-browsing-contexts/name-attribute.window.js": [ + [ + "/html/browsers/windows/nested-browsing-contexts/name-attribute.window.html", + {} + ] + ], "html/browsers/windows/nested-browsing-contexts/window-parent-null.html": [ [ "/html/browsers/windows/nested-browsing-contexts/window-parent-null.html", @@ -378663,6 +378719,30 @@ {} ] ], + "html/semantics/forms/form-submission-target/rel-base-target.html": [ + [ + "/html/semantics/forms/form-submission-target/rel-base-target.html", + {} + ] + ], + "html/semantics/forms/form-submission-target/rel-button-target.html": [ + [ + "/html/semantics/forms/form-submission-target/rel-button-target.html", + {} + ] + ], + "html/semantics/forms/form-submission-target/rel-form-target.html": [ + [ + "/html/semantics/forms/form-submission-target/rel-form-target.html", + {} + ] + ], + "html/semantics/forms/form-submission-target/rel-input-target.html": [ + [ + "/html/semantics/forms/form-submission-target/rel-input-target.html", + {} + ] + ], "html/semantics/forms/historical.html": [ [ "/html/semantics/forms/historical.html", @@ -385727,6 +385807,12 @@ {} ] ], + "kv-storage/backingstore.https.html": [ + [ + "/kv-storage/backingstore.https.html", + {} + ] + ], "kv-storage/cause-errors-via-idb.https.html": [ [ "/kv-storage/cause-errors-via-idb.https.html", @@ -400250,7 +400336,9 @@ "payment-request/payment-request-show-method.https.html": [ [ "/payment-request/payment-request-show-method.https.html", - {} + { + "testdriver": true + } ] ], "payment-request/payment-response/onpayerdetailchange-attribute.https.html": [ @@ -411457,6 +411545,12 @@ {} ] ], + "screen-capture/feature-policy.https.html": [ + [ + "/screen-capture/feature-policy.https.html", + {} + ] + ], "screen-capture/getdisplaymedia.https.html": [ [ "/screen-capture/getdisplaymedia.https.html", @@ -420974,21 +421068,29 @@ "webgl/webgl1-idlharness.any.js": [ [ "/webgl/webgl1-idlharness.any.html", - {} + { + "timeout": "long" + } ], [ "/webgl/webgl1-idlharness.any.worker.html", - {} + { + "timeout": "long" + } ] ], "webgl/webgl2-idlharness.any.js": [ [ "/webgl/webgl2-idlharness.any.html", - {} + { + "timeout": "long" + } ], [ "/webgl/webgl2-idlharness.any.worker.html", - {} + { + "timeout": "long" + } ] ], "webmessaging/Channel_postMessage_Blob.htm": [ @@ -448847,6 +448949,12 @@ {} ] ], + "webdriver/tests/execute_async_script/promise.py": [ + [ + "/webdriver/tests/execute_async_script/promise.py", + {} + ] + ], "webdriver/tests/execute_async_script/user_prompts.py": [ [ "/webdriver/tests/execute_async_script/user_prompts.py", @@ -457518,6 +457626,10 @@ "d22ed4cd251a20de43c4425e54abdc984b41976a", "testharness" ], + "animation-worklet/animate-non-accelerated-property.https.html": [ + "8e30387530ca2d8b9f7b7d2e7dfe85a20736ee02", + "testharness" + ], "animation-worklet/animation-worklet-inside-iframe.https.html": [ "b02186309dc2cf8df05559ef9fb9bcacdf535112", "testharness" @@ -457530,6 +457642,10 @@ "1ff2544d6a9a4ee2cb251ef1d27b2278d979344f", "testharness" ], + "animation-worklet/cancel-non-accelerated-property.https.html": [ + "594da4c419135ef2e5ac32680cffedbb9a18bfdd", + "testharness" + ], "animation-worklet/common.js": [ "983c22403c44256f11ca470f2f74410ac3b84e08", "support" @@ -571154,6 +571270,10 @@ "2b158a86f6599e43f6a2315a2943b4d394405ba5", "testharness" ], + "css/css-position/position-absolute-container-dynamic.html": [ + "711d31766da2e324d3d5ddf0362bc1c71b76d7f3", + "testharness" + ], "css/css-position/position-absolute-crash-chrome-001.html": [ "592e5d22e70f1b0c5e3e4b9222cbd1ccef99bdef", "testharness" @@ -571166,6 +571286,10 @@ "5d36710b6fe694b256d9841b3e7a0fff4535c85b", "testharness" ], + "css/css-position/position-absolute-percentage-height.html": [ + "8b2e5c0f720d43d3aa922d2077ab305f6a61d59d", + "testharness" + ], "css/css-position/position-absolute-replaced-minmax.html": [ "644b147a227e100c500de2de9e4f8e8449a4a21e", "testharness" @@ -576294,6 +576418,10 @@ "787700cebf39e5cc4fa0d5a2934a7e52bec6da32", "testharness" ], + "css/css-syntax/cdc-vs-ident-tokens.html": [ + "02cfbe11ae906f50ec3498f554395b7ad495bd70", + "testharness" + ], "css/css-syntax/charset-is-not-a-rule.html": [ "81b2a04dc5a0dd2f3434150f7bfb6a6d3f1cfef3", "testharness" @@ -582582,6 +582710,14 @@ "e9a463fc0b0b7e893d3c801c6a78aa5368ef3e60", "reftest" ], + "css/css-transforms/composited-under-rotateY-180deg-clip-perspective-ref.html": [ + "ebd2d860cec74ba0d535637934aca8dadf90571d", + "support" + ], + "css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html": [ + "6381ee7fa78036c7b17136edc1c81efb9609a0f1", + "reftest" + ], "css/css-transforms/css-rotate-2d-3d-001-ref.html": [ "54940566cd107ba443d3183dccecb505a811d14e", "support" @@ -614103,7 +614239,7 @@ "testharness" ], "custom-elements/reactions/HTMLButtonElement.html": [ - "9b134ce2c6841a844b85e9fd27bc52c24fa29c91", + "b97d479d7c6ddcc4dc05d3a3501fe60b21ff051d", "testharness" ], "custom-elements/reactions/HTMLCanvasElement.html": [ @@ -614443,7 +614579,7 @@ "support" ], "docs/_writing-tests/testdriver.md": [ - "a53a418fe3e39c543edd9361f3bd54a2a2581574", + "2526774a95cfd552bf19da55d8bfaad0b64d7680", "support" ], "docs/_writing-tests/testharness-api.md": [ @@ -616171,7 +616307,7 @@ "support" ], "domparsing/XMLSerializer-serializeToString.html": [ - "5f7e2bb0d4b459bd20acb43aca19b848920ac8bb", + "81df61f5bc42880ee013287e90a3808bdccd536b", "testharness" ], "domparsing/createContextualFragment.html": [ @@ -621587,31 +621723,31 @@ "support" ], "fetch/stale-while-revalidate/fetch.tentative.html": [ - "01a991ebfb1cb42288a01da37c76b09fa53f407c", + "5b9b2dc5de2835d1f4a9f49cc63e0b3f03317698", "testharness" ], "fetch/stale-while-revalidate/stale-css.py": [ - "6f3014db5246994383354b139e7900306297dd57", + "425c889ac5ec58527e63ab25a4f70558b7daeef3", "support" ], "fetch/stale-while-revalidate/stale-css.tentative.html": [ - "9b95b891fff2db4a29bd438208ea4274a762977d", + "3459493f28c22011e96def2549f01df1d5e0cbf2", "testharness" ], "fetch/stale-while-revalidate/stale-image.py": [ - "42d0764eb91e7145cfe1638d90421ca7492379db", + "ce7f0fc782613e0a36e3d0aba0521e45f1ca6bf0", "support" ], "fetch/stale-while-revalidate/stale-image.tentative.html": [ - "a5d4e79c54b8fca7a7089efcca0bc5f6f7c1202a", + "8b6a896eb15219e2222d65863c81724959c1ee1a", "testharness" ], "fetch/stale-while-revalidate/stale-script.py": [ - "c17528d8e6314e60407085ca778ba2ff70666985", + "0f91a9b83486678eabd600ecb6336695e5dd6970", "support" ], "fetch/stale-while-revalidate/stale-script.tentative.html": [ - "2e04e3905780add84f3da805a238946256ebda87", + "8cbb54b7dab3bc9b9e8763c5358a9232d24c1e7f", "testharness" ], "fonts/AD.woff": [ @@ -625494,6 +625630,10 @@ "2f5b1c466f8bdaf2555e548f4140abdcc18d79bc", "testharness" ], + "html/browsers/windows/nested-browsing-contexts/name-attribute.window.js": [ + "69908af71b7239d72e33d33be79edd1f344a1870", + "testharness" + ], "html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html": [ "d066b8d4cb2dc76e85fa53f28c2053f9acbfbd72", "support" @@ -625506,6 +625646,10 @@ "65a825f5737468d64c34d1399d0d0875c2dfe983", "support" ], + "html/browsers/windows/nested-browsing-contexts/resources/post-to-parent.html": [ + "302e9d9cc12b347da03c20e288f7dad12598d179", + "support" + ], "html/browsers/windows/nested-browsing-contexts/window-parent-null.html": [ "428312086ecf54e6f04129ffd3b91f4d7073e81f", "testharness" @@ -636082,6 +636226,30 @@ "f37bc33f6f93ca94940ffeb0066945eb9aa020ee", "testharness" ], + "html/semantics/forms/form-submission-target/rel-base-target.html": [ + "222be95d2e8a9da39525fbf6d8048e6cdfd7a982", + "testharness" + ], + "html/semantics/forms/form-submission-target/rel-button-target.html": [ + "76fa8685905ad233f9312be3f6bf09503158a666", + "testharness" + ], + "html/semantics/forms/form-submission-target/rel-form-target.html": [ + "58611f41a9fdaea1611513e02dad87e017728f9a", + "testharness" + ], + "html/semantics/forms/form-submission-target/rel-input-target.html": [ + "b80e0240bae3802b04118249ec2b94e16a91e9e6", + "testharness" + ], + "html/semantics/forms/form-submission-target/resources/endpoint.html": [ + "be9e7942927dabeea32bf9e17b88d6643bc4ea91", + "support" + ], + "html/semantics/forms/form-submission-target/resources/reltester.js": [ + "0fa9774ce4f15be8909a0aceaa4879e9c5ab39c1", + "support" + ], "html/semantics/forms/historical.html": [ "6873ecd251741fb8436a377081d5a6d3de53b7ab", "testharness" @@ -637271,7 +637439,7 @@ "support" ], "html/semantics/rellist-feature-detection.html": [ - "f4ce621172ebd5831fe259ab9603162549795dee", + "d290439d8ee647b2f8d95ddc45ac390dccde9843", "testharness" ], "html/semantics/scripting-1/META.yml": [ @@ -642755,7 +642923,7 @@ "support" ], "interfaces/font-metrics-api.idl": [ - "b13def2d74c74b12821b9691f84088e23dc35040", + "b38024e44616599596661fcd72d705424b0debfc", "support" ], "interfaces/fullscreen.idl": [ @@ -642795,7 +642963,7 @@ "support" ], "interfaces/html.idl": [ - "0d6445e7f016b736966e621a414cbe9bc9219e99", + "f530f3559b68af565fc07f4372a1444d5036eac2", "support" ], "interfaces/image-capture.idl": [ @@ -642991,7 +643159,7 @@ "support" ], "interfaces/storage.idl": [ - "29603241222b9c472ca21184d04e1966e2f7198a", + "437bc6dd43c2bd17113c6b823a238e7141fb25bf", "support" ], "interfaces/touch-events.idl": [ @@ -643043,7 +643211,7 @@ "support" ], "interfaces/web-nfc.idl": [ - "5a6d6f8a06b1d7bfbcf5b3cc1b5078ff930cbedc", + "913d1fe808adf50f66fa621eb62d12b1b41a3a05", "support" ], "interfaces/web-share.idl": [ @@ -643450,8 +643618,12 @@ "90e705862d599f2920ebdf5fa07cc3e4ba1f6d46", "testharness" ], + "kv-storage/backingstore.https.html": [ + "44e634d85bbc34621450c4029a63c5e9114075b3", + "testharness" + ], "kv-storage/cause-errors-via-idb.https.html": [ - "21fe36b36cb1dbedca5383abb526b9b4f6c8ce3e", + "d77e56621e037b71fa6ae9bfb3e80a0ab85677fc", "testharness" ], "kv-storage/entries.https.html": [ @@ -643467,7 +643639,7 @@ "support" ], "kv-storage/helpers/kvs-tests.js": [ - "a6c4d58dfa5e928768d483df11c7d06180bac9fb", + "0cf4c2fd3d5fcaa392e8cbbcf64101155bcbe441", "support" ], "kv-storage/key-types.https.html": [ @@ -643495,7 +643667,7 @@ "testharness" ], "kv-storage/storage-smoke-test.https.html": [ - "df6fd8c8181f579df03972d25fe9a91b2354380f", + "da48dc7cf13cb31fd5f5a3b4b7fa086100197bd9", "testharness" ], "kv-storage/undefined-value.https.html": [ @@ -655374,10 +655546,6 @@ "02122203d51eaff6c6639c9762b1495173bbf66e", "testharness" ], - "payment-request/payment-request-multiple-show-manual.https.html": [ - "cc412171a6d74cd242c32a2bb50b83eaaf156478", - "manual" - ], "payment-request/payment-request-not-exposed.https.worker.js": [ "e5576e673520ea33504d8ddea0e862d54b28e8fb", "testharness" @@ -655402,12 +655570,8 @@ "11f75b1c862224b5655cb724d8c8f5b25ab1af00", "testharness" ], - "payment-request/payment-request-show-method-manual.https.html": [ - "6ef98e85a6092a648897bfbca966d78a5a2195f8", - "manual" - ], "payment-request/payment-request-show-method.https.html": [ - "dd04987092b49bbfb5d525da7ce0af63fa60a495", + "cc8c881d1147c8cebb87a84d6b466a7b4d32ea13", "testharness" ], "payment-request/payment-response/complete-method-manual.https.html": [ @@ -666779,7 +666943,7 @@ "support" ], "resources/testdriver.js": [ - "ea380dbd3c32def105c1483230e91e9c7e979b27", + "e328302e4f345114654eda323dbd09a5f650d419", "support" ], "resources/testdriver.js.headers": [ @@ -667638,6 +667802,10 @@ "47882d3275f1cc928555045b2def8fc90f6bcdb0", "support" ], + "screen-capture/feature-policy.https.html": [ + "56c9e80a1307484a26ab370298789030a6fa350e", + "testharness" + ], "screen-capture/getdisplaymedia.https.html": [ "7427e3433d01682570126b4bfe967c240fd12d3e", "testharness" @@ -676739,7 +676907,7 @@ "support" ], "tools/ci/taskcluster-run.py": [ - "2b3270c17aaacd053bdff516fa1f1ee666011858", + "78c50a6285e81c8fa5e69585a28f04e957a59869", "support" ], "tools/ci/tcdownload.py": [ @@ -681947,7 +682115,7 @@ "support" ], "tools/wptrunner/wptrunner/testdriver-extra.js": [ - "ca61caf51e8eaf4f378da3165ed5c50bc0e3593a", + "6336d227db8d7d9f3e6c4276ad2f5c609e9f27e9", "support" ], "tools/wptrunner/wptrunner/testdriver-vendor.js": [ @@ -687014,6 +687182,10 @@ "7c454eaf4ac4f83d7594e58f99dbdb525ef7d687", "wdspec" ], + "webdriver/tests/execute_async_script/promise.py": [ + "8b6d7d9157b28570e7984491e02e42f6a64ce15c", + "wdspec" + ], "webdriver/tests/execute_async_script/user_prompts.py": [ "5c873935519716a3f4933b710828118218f7220c", "wdspec" @@ -687039,7 +687211,7 @@ "wdspec" ], "webdriver/tests/execute_script/promise.py": [ - "1eab7822c5c2f3c8d3fa51ac0713ebdc2c19269c", + "8bb637853ccd789f128a8293a678f58cfe030912", "wdspec" ], "webdriver/tests/execute_script/user_prompts.py": [ @@ -687747,11 +687919,11 @@ "testharness" ], "webgl/webgl1-idlharness.any.js": [ - "884def896cb4d1c987f678c1d9e71aa157773e70", + "2cf80395230604336daadeaa2ac4a910552215b5", "testharness" ], "webgl/webgl2-idlharness.any.js": [ - "97edfa18285daeeb35a2bf563981283b6399fde4", + "c8efcd031fe53a37c5db3740b82db4a1f0df647d", "testharness" ], "webmessaging/Channel_postMessage_Blob.htm": [ diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini index cea2b7ff82c..078cd25f2a2 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini @@ -62,18 +62,12 @@ [Matching font-weight: '399' should prefer '450 460' over '500 501'] expected: FAIL - [Matching font-stretch: '100%' should prefer '100%' over '110% 120%'] - expected: FAIL - [Matching font-style: 'normal' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'] expected: FAIL [Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg'] expected: FAIL - [Matching font-style: 'italic' should prefer 'oblique 20deg' over 'oblique 30deg 60deg'] - expected: FAIL - [Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] expected: FAIL @@ -101,9 +95,6 @@ [Matching font-style: 'oblique 21deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'] expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg'] - expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg'] expected: FAIL @@ -113,9 +104,6 @@ [Matching font-style: 'oblique 10deg' should prefer 'oblique 40deg 50deg' over 'italic'] expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg'] - expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'] expected: FAIL @@ -302,9 +290,6 @@ [Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'] expected: FAIL - [Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic'] - expected: FAIL - [Matching font-weight: '500' should prefer '500' over '450 460'] expected: FAIL diff --git a/tests/wpt/metadata/css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html.ini b/tests/wpt/metadata/css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html.ini new file mode 100644 index 00000000000..804ed57393a --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/composited-under-rotateY-180deg-clip-perspective.html.ini @@ -0,0 +1,2 @@ +[composited-under-rotateY-180deg-clip-perspective.html] + expected: FAIL diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini index c9131336531..c6bbb361c93 100644 --- a/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini @@ -1,19 +1,7 @@ [HTMLButtonElement.html] - [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - - [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when adding disabled content attribute] - expected: FAIL - - [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when adding autofocus content attribute] expected: FAIL diff --git a/tests/wpt/metadata/domparsing/XMLSerializer-serializeToString.html.ini b/tests/wpt/metadata/domparsing/XMLSerializer-serializeToString.html.ini index bc0535d9712..0b5cc14bc26 100644 --- a/tests/wpt/metadata/domparsing/XMLSerializer-serializeToString.html.ini +++ b/tests/wpt/metadata/domparsing/XMLSerializer-serializeToString.html.ini @@ -48,3 +48,15 @@ [Check if an attribute with namespace and no prefix is serialized with the nearest-declared prefix even if the prefix is assigned to another namespace.] expected: FAIL + [Check if start tag serialization finds an appropriate prefix.] + expected: FAIL + + [Check if start tag serialization drops element prefix if the namespace is same as inherited default namespace.] + expected: FAIL + + [Check if start tag serialization applied the original prefix even if it is declared in an ancestor element.] + expected: FAIL + + [Check if start tag serialization takes into account of its xmlns:* attributes] + 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 18f786d4963..bbdc2d4a2a5 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,3 +312,6 @@ [ diff --git a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.py b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.py index c17528d8e63..0f91a9b8348 100644 --- a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.py +++ b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.py @@ -1,14 +1,15 @@ import random, string, datetime -def token(): +def id_token(): letters = string.ascii_lowercase return ''.join(random.choice(letters) for i in range(20)) def main(request, response): - cookie = request.cookies.first("Count", None) + token = request.GET.first("token", None) + value = request.server.stash.take(token) count = 0 - if cookie != None: - count = int(cookie.value) + if value != None: + count = int(value) if request.GET.first("query", None) != None: headers = [("Count", count)] content = "" @@ -16,10 +17,10 @@ def main(request, response): else: count = count + 1 - unique_id = token() + unique_id = id_token() headers = [("Content-Type", "text/javascript"), - ("Cache-Control", "private, max-age=0, stale-while-revalidate=10"), - ("Set-Cookie", "Count={}".format(count)), - ("Token", unique_id)] + ("Cache-Control", "private, max-age=0, stale-while-revalidate=60"), + ("Unique-Id", unique_id)] content = "report('{}')".format(unique_id) + request.server.stash.put(token, count) return 200, headers, content diff --git a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.tentative.html b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.tentative.html index 2e04e390578..8cbb54b7dab 100644 --- a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.tentative.html +++ b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/stale-script.tentative.html @@ -7,10 +7,12 @@ https://github.com/whatwg/fetch/pull/853 Tests Stale While Revalidate works for scripts + diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js new file mode 100644 index 00000000000..69908af71b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js @@ -0,0 +1,58 @@ +// META: script=/common/get-host-info.sub.js + +[ + "frame", // This works without , so great + "iframe", + "object", + "embed", +].forEach(element => { + [ + null, + "", + "initialvalue" + ].forEach(initialNameValue => { + [ + "same-origin", + "cross-origin" + ].forEach(originType => { + async_test(t => { + const ident = element + initialNameValue + originType, + file = `${new URL("resources/post-to-parent.html", location.href).pathname}?ident=${ident}`, + child = originType === "same-origin" ? file : `${get_host_info().HTTP_REMOTE_ORIGIN}${file}`, + frame = document.createElement(element), + expectedNameValue = initialNameValue || ""; + let state = "set"; + const listener = t.step_func(e => { + if (e.data.ident === ident) { + assert_equals(e.data.name, expectedNameValue); // This check is always the same + if (state === "set") { + frame.setAttribute("name", "meh"); + state = "remove" + e.source.postMessage(null, "*"); + return; + } + if (state === "remove") { + frame.removeAttribute("name"); + state = "done"; + e.source.postMessage(null, "*"); + return; + } + if (state === "done") { + t.done(); + } + } + }); + frame.setAttribute(element === "object" ? "data" : "src", child); + if (initialNameValue !== null) { + frame.setAttribute("name", initialNameValue); + } + t.add_cleanup(() => { + self.removeEventListener("message", listener); + frame.remove(); + }); + self.addEventListener("message", listener); + document.body.append(frame); + }, `${originType} <${element}${initialNameValue !== null ? ' name=' + initialNameValue : ''}>`); + }); + }); +}); diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/post-to-parent.html b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/post-to-parent.html new file mode 100644 index 00000000000..302e9d9cc12 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/post-to-parent.html @@ -0,0 +1,6 @@ + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target.html new file mode 100644 index 00000000000..222be95d2e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target.html @@ -0,0 +1,13 @@ + +<form rel> with <base target> + + + + +
+
+ diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target.html new file mode 100644 index 00000000000..76fa8685905 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target.html @@ -0,0 +1,12 @@ + +<form rel> with <button formtarget> + + + +
+
- - - - If you find a buggy test, please file a bug - and tag one of the suggested reviewers. - diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html deleted file mode 100644 index 6ef98e85a60..00000000000 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html +++ /dev/null @@ -1,97 +0,0 @@ - - -Manual tests for PaymentRequest.show() method - - - - -

Manual tests for PaymentRequest.show() method

-

- Click on each button in sequence from top to bottom without refreshing the - page. Each button will bring up the Payment Request UI window and then will - close it automatically. (If a payment sheet stays open, the test has failed.) -

-
    -
  1. - -
  2. -
  3. - -
  4. -
  5. - -
  6. -
  7. -
- - If you find a buggy test, please file a bug - and tag one of the suggested reviewers. - diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-show-method.https.html index dd04987092b..cc8c881d114 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-show-method.https.html @@ -4,6 +4,8 @@ + + If you find a buggy test, please file a bug diff --git a/tests/wpt/web-platform-tests/resources/testdriver.js b/tests/wpt/web-platform-tests/resources/testdriver.js index ea380dbd3c3..e328302e4f3 100644 --- a/tests/wpt/web-platform-tests/resources/testdriver.js +++ b/tests/wpt/web-platform-tests/resources/testdriver.js @@ -199,25 +199,68 @@ window.test_driver_internal = { /** - * Triggers a user-initiated click + * This flag should be set to `true` by any code which implements the + * internal methods defined below for automation purposes. Doing so + * allows the library to signal failure immediately when an automated + * implementation of one of the methods is not available. + */ + in_automation: false, + + /** + * Waits for a user-initiated click * * @param {Element} element - element to be clicked * @param {{x: number, y: number} coords - viewport coordinates to click at - * @returns {Promise} fulfilled after click occurs or rejected if click fails + * @returns {Promise} fulfilled after click occurs */ click: function(element, coords) { - return Promise.reject(new Error("unimplemented")); + if (this.in_automation) { + return Promise.reject(new Error('Not implemented')); + } + + return new Promise(function(resolve, reject) { + element.addEventListener("click", resolve); + }); }, /** - * Triggers a user-initiated click + * Waits for an element to receive a series of key presses * - * @param {Element} element - element to be clicked - * @param {String} keys - keys to send to the element - * @returns {Promise} fulfilled after keys are sent or rejected if click fails + * @param {Element} element - element which should receve key presses + * @param {String} keys - keys to expect + * @returns {Promise} fulfilled after keys are received or rejected if + * an incorrect key sequence is received */ send_keys: function(element, keys) { - return Promise.reject(new Error("unimplemented")); + if (this.in_automation) { + return Promise.reject(new Error('Not implemented')); + } + + return new Promise(function(resolve, reject) { + var seen = ""; + + function remove() { + element.removeEventListener("keydown", onKeyDown); + } + + function onKeyDown(event) { + if (event.key.length > 1) { + return; + } + + seen += event.key; + + if (keys.indexOf(seen) !== 0) { + reject(new Error("Unexpected key sequence: " + seen)); + remove(); + } else if (seen === keys) { + resolve(); + remove(); + } + } + + element.addEventListener("keydown", onKeyDown); + }); }, /** diff --git a/tests/wpt/web-platform-tests/screen-capture/feature-policy.https.html b/tests/wpt/web-platform-tests/screen-capture/feature-policy.https.html new file mode 100644 index 00000000000..56c9e80a130 --- /dev/null +++ b/tests/wpt/web-platform-tests/screen-capture/feature-policy.https.html @@ -0,0 +1,38 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/tools/ci/taskcluster-run.py b/tests/wpt/web-platform-tests/tools/ci/taskcluster-run.py index 2b3270c17aa..78c50a6285e 100755 --- a/tests/wpt/web-platform-tests/tools/ci/taskcluster-run.py +++ b/tests/wpt/web-platform-tests/tools/ci/taskcluster-run.py @@ -6,6 +6,7 @@ import logging import os import shutil import subprocess +import sys browser_specific_args = { "firefox": ["--install-browser"] @@ -38,8 +39,7 @@ def main(product, commit_range, wpt_args): ) logger.addHandler(handler) - child = subprocess.Popen(['python', './wpt', 'manifest-download']) - child.wait() + subprocess.call(['python', './wpt', 'manifest-download']) if commit_range: logger.info( @@ -65,7 +65,9 @@ def main(product, commit_range, wpt_args): logger.info("Executing command: %s" % " ".join(command)) - subprocess.check_call(command) + retcode = subprocess.call(command) + if retcode != 0: + sys.exit(retcode) wptreport = find_wptreport(wpt_args) if wptreport: diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testdriver-extra.js b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testdriver-extra.js index ca61caf51e8..6336d227db8 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testdriver-extra.js +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testdriver-extra.js @@ -51,6 +51,8 @@ return selector; }; + window.test_driver_internal.in_automation = true; + window.test_driver_internal.click = function(element) { const selector = get_selector(element); const pending_promise = new Promise(function(resolve, reject) { diff --git a/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/promise.py b/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/promise.py new file mode 100644 index 00000000000..8b6d7d9157b --- /dev/null +++ b/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/promise.py @@ -0,0 +1,127 @@ +from tests.support.asserts import assert_error, assert_success + + +def execute_async_script(session, script, args=None): + if args is None: + args = [] + body = {"script": script, "args": args} + + return session.transport.send( + "POST", "/session/{session_id}/execute/async".format(**vars(session)), + body) + + +def test_promise_resolve(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + resolve(Promise.resolve('foobar')); + """) + assert_success(response, "foobar") + + +def test_promise_resolve_delayed(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = new Promise( + (resolve) => setTimeout( + () => resolve('foobar'), + 50 + ) + ); + resolve(promise); + """) + assert_success(response, "foobar") + + +def test_promise_all_resolve(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = Promise.all([ + Promise.resolve(1), + Promise.resolve(2) + ]); + resolve(promise); + """) + assert_success(response, [1, 2]) + + +def test_await_promise_resolve(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + let res = await Promise.resolve('foobar'); + resolve(res); + """) + assert_success(response, "foobar") + + +def test_promise_resolve_timeout(session): + session.timeouts.script = .1 + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = new Promise( + (resolve) => setTimeout( + () => resolve(), + 1000 + ) + ); + resolve(promise); + """) + assert_error(response, "script timeout") + + +def test_promise_reject(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + resolve(Promise.reject(new Error('my error'))); + """) + assert_error(response, "javascript error") + + +def test_promise_reject_delayed(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = new Promise( + (resolve, reject) => setTimeout( + () => reject(new Error('my error')), + 50 + ) + ); + resolve(promise); + """) + assert_error(response, "javascript error") + + +def test_promise_all_reject(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = Promise.all([ + Promise.resolve(1), + Promise.reject(new Error('error')) + ]); + resolve(promise); + """) + assert_error(response, "javascript error") + + +def test_await_promise_reject(session): + response = execute_async_script(session, """ + let resolve = arguments[0]; + await Promise.reject(new Error('my error')); + resolve('foo'); + """) + assert_error(response, "javascript error") + + +def test_promise_reject_timeout(session): + session.timeouts.script = .1 + response = execute_async_script(session, """ + let resolve = arguments[0]; + let promise = new Promise( + (resolve, reject) => setTimeout( + () => reject(new Error('my error')), + 1000 + ) + ); + resolve(promise); + """) + assert_error(response, "script timeout") diff --git a/tests/wpt/web-platform-tests/webdriver/tests/execute_script/promise.py b/tests/wpt/web-platform-tests/webdriver/tests/execute_script/promise.py index 1eab7822c5c..8bb637853cc 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/execute_script/promise.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/execute_script/promise.py @@ -1,6 +1,4 @@ -import pytest - -from tests.support.asserts import assert_dialog_handled, assert_error, assert_success +from tests.support.asserts import assert_error, assert_success def execute_script(session, script, args=None): @@ -45,12 +43,25 @@ def test_promise_all_resolve(session): def test_await_promise_resolve(session): response = execute_script(session, """ - const res = await Promise.resolve('foobar'); + let res = await Promise.resolve('foobar'); return res; """) assert_success(response, "foobar") +def test_promise_resolve_timeout(session): + session.timeouts.script = .1 + response = execute_script(session, """ + return new Promise( + (resolve) => setTimeout( + () => resolve(), + 1000 + ) + ); + """) + assert_error(response, "script timeout") + + def test_promise_reject(session): response = execute_script(session, """ return Promise.reject(new Error('my error')); @@ -88,19 +99,6 @@ def test_await_promise_reject(session): assert_error(response, "javascript error") -def test_promise_resolve_timeout(session): - session.timeouts.script = .1 - response = execute_script(session, """ - return new Promise( - (resolve) => setTimeout( - () => resolve(), - 1000 - ) - ); - """) - assert_error(response, "timeout error") - - def test_promise_reject_timeout(session): session.timeouts.script = .1 response = execute_script(session, """ @@ -111,4 +109,4 @@ def test_promise_reject_timeout(session): ) ); """) - assert_error(response, "timeout error") \ No newline at end of file + assert_error(response, "script timeout") diff --git a/tests/wpt/web-platform-tests/webgl/webgl1-idlharness.any.js b/tests/wpt/web-platform-tests/webgl/webgl1-idlharness.any.js index 884def896cb..2cf80395230 100644 --- a/tests/wpt/web-platform-tests/webgl/webgl1-idlharness.any.js +++ b/tests/wpt/web-platform-tests/webgl/webgl1-idlharness.any.js @@ -1,5 +1,6 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js +// META: timeout=long // https://www.khronos.org/registry/webgl/specs/latest/1.0/ diff --git a/tests/wpt/web-platform-tests/webgl/webgl2-idlharness.any.js b/tests/wpt/web-platform-tests/webgl/webgl2-idlharness.any.js index 97edfa18285..c8efcd031fe 100644 --- a/tests/wpt/web-platform-tests/webgl/webgl2-idlharness.any.js +++ b/tests/wpt/web-platform-tests/webgl/webgl2-idlharness.any.js @@ -1,5 +1,6 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js +// META: timeout=long // https://www.khronos.org/registry/webgl/specs/latest/1.0/