diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 3e5f358c817..ac800de3d57 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -120945,6 +120945,54 @@ {} ] ], + "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [ + [ + "/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html", + [ + [ + "/css/css-layout-api/layout-child-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [ + [ + "/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html", + [ + [ + "/css/css-layout-api/layout-child-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [ + [ + "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html", + [ + [ + "/css/css-layout-api/layout-child-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [ + [ + "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html", + [ + [ + "/css/css-layout-api/layout-child-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [ [ "/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html", @@ -126153,6 +126201,18 @@ {} ] ], + "css/css-pseudo/first-line-and-placeholder.html": [ + [ + "/css/css-pseudo/first-line-and-placeholder.html", + [ + [ + "/css/css-pseudo/first-line-and-placeholder-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-pseudo/marker-and-other-pseudo-elements.html": [ [ "/css/css-pseudo/marker-and-other-pseudo-elements.html", @@ -130405,6 +130465,18 @@ {} ] ], + "css/css-sizing/whitespace-and-break.html": [ + [ + "/css/css-sizing/whitespace-and-break.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-style-attr/style-attr-braces-001.xht": [ [ "/css/css-style-attr/style-attr-braces-001.xht", @@ -178201,6 +178273,18 @@ {} ] ], + "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html": [ + [ + "/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html", + [ + [ + "/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html", + "==" + ] + ], + {} + ] + ], "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-zero-2.html": [ [ "/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-zero-2.html", @@ -190049,6 +190133,11 @@ {} ] ], + "./CODEOWNERS": [ + [ + {} + ] + ], "./CONTRIBUTING.md": [ [ {} @@ -194684,6 +194773,11 @@ {} ] ], + "async-local-storage/OWNERS": [ + [ + {} + ] + ], "audio-output/OWNERS": [ [ {} @@ -253494,7 +253588,7 @@ {} ] ], - "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [ + "css/css-layout-api/support/layout-child-sizes-worklet.js": [ [ {} ] @@ -255074,6 +255168,11 @@ {} ] ], + "css/css-pseudo/first-line-and-placeholder-ref.html": [ + [ + {} + ] + ], "css/css-pseudo/marker-and-other-pseudo-elements-ref.html": [ [ {} @@ -273829,6 +273928,11 @@ {} ] ], + "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html": [ + [ + {} + ] + ], "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-zero-2-ref.html": [ [ {} @@ -291324,6 +291428,11 @@ {} ] ], + "keyboard-map/OWNERS": [ + [ + {} + ] + ], "longtask-timing/OWNERS": [ [ {} @@ -336240,9 +336349,9 @@ {} ] ], - "html/browsers/windows/nested-browsing-contexts/frameElement.html": [ + "html/browsers/windows/nested-browsing-contexts/frameElement.sub.html": [ [ - "/html/browsers/windows/nested-browsing-contexts/frameElement.html", + "/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html", {} ] ], @@ -337940,6 +338049,16 @@ {} ] ], + "html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html": [ + [ + "/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=utf8", + {} + ], + [ + "/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=x-cp1251", + {} + ] + ], "html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html": [ [ "/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=utf8", @@ -379456,6 +379575,12 @@ {} ] ], + "workers/WorkerGlobalScope_requestAnimationFrame.htm": [ + [ + "/workers/WorkerGlobalScope_requestAnimationFrame.htm", + {} + ] + ], "workers/WorkerGlobalScope_setInterval.htm": [ [ "/workers/WorkerGlobalScope_setInterval.htm", @@ -382186,6 +382311,26 @@ {} ] ], + "xhr/sync-no-timeout.any.js": [ + [ + "/xhr/sync-no-timeout.any.html", + { + "timeout": "long" + } + ], + [ + "/xhr/sync-no-timeout.any.sharedworker.html", + { + "timeout": "long" + } + ], + [ + "/xhr/sync-no-timeout.any.worker.html", + { + "timeout": "long" + } + ] + ], "xhr/template-element.html": [ [ "/xhr/template-element.html", @@ -401887,6 +402032,10 @@ "db79dd9531259cfaf670e7b780a9a205ec712369", "support" ], + "./CODEOWNERS": [ + "27076c48623ad8788d0e0cc7679ad86be678744c", + "support" + ], "./CONTRIBUTING.md": [ "d29b019e9828ee3b23b428c684412aa402ec9fff", "support" @@ -401900,7 +402049,7 @@ "support" ], "./README.md": [ - "2ecef188cb7cb27d10b6bf148eddb3f9a031771b", + "8ab843e17aa153bcf91282be3770ed2009061b11", "support" ], "./check_stability.ini": [ @@ -401908,7 +402057,7 @@ "support" ], "./lint.whitelist": [ - "b740ea6ee933d028f6b2bef92cc473778b76002f", + "f18a6bb277d2392446c790aa85eb008d5f3fe05d", "support" ], "./serve.py": [ @@ -411567,6 +411716,10 @@ "32cf112fb1dcb4e7ec3c91bdf5bd6b976a1e4eac", "testharness" ], + "async-local-storage/OWNERS": [ + "0dadd13ec6f4267b77fb4ec782ca528408051a11", + "support" + ], "async-local-storage/storage-smoke-test.https.tentative.html": [ "1e00cf5aff9d85ca66d8b831ee4c2c3cb8259071", "testharness" @@ -514231,20 +514384,36 @@ "567ff67317cae9906e6d159dc232c41464a4e7c6", "reftest" ], + "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [ + "7db4f5c2bebe031f0689be2569ba4ca266535052", + "reftest" + ], + "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [ + "f22cc9627b7b2ad797cc722f3d369355ffce4f60", + "reftest" + ], + "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [ + "0e34d5b8b86aa6551e6e6a31eb086bd84b61c636", + "reftest" + ], + "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [ + "d619b57c395710bc2e133e05774c9a06bfd19749", + "reftest" + ], "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [ - "341711737d74fb068bb3a2e348e47820c236fa49", + "907b9b1255516caab731555686e5c6b5517eb3f9", "reftest" ], "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [ - "486fe671afaa9275bc6b32c49ca4c8143290f9be", + "3560b1f8249f945e1453e3e8e53745ef1941405f", "reftest" ], "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [ - "3c3b4c800af40a85eb9ddb588a07fc0d8ceec5cf", + "dfc48415ddbfecad7b382c4efe290b1b8da4ebac", "reftest" ], "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [ - "a25a85095781de557edde6dd02b82ee052642bf1", + "bae125f32f28d0cfa7db449cfb10437cb4df12a3", "reftest" ], "css/css-layout-api/position-fragment-htb-ltr.https.html": [ @@ -514295,8 +514464,8 @@ "ed0224a380c50a7e83d23a95be5a4348ce5bf706", "support" ], - "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [ - "5ddda72e3c9d077508622511e8685249c7803028", + "css/css-layout-api/support/layout-child-sizes-worklet.js": [ + "3797af00861ae44369a90a0ae05b3a6e13a2ef54", "support" ], "css/css-layout-api/support/layout-child-worklet.js": [ @@ -515180,7 +515349,7 @@ "support" ], "css/css-masking/parsing/clip-invalid.html": [ - "fad5d0257532a5c1572d41f83d045c92a6fe0d61", + "81cd98170ea4abe216c0cf155aa493c58079bd53", "testharness" ], "css/css-masking/parsing/clip-path-invalid.html": [ @@ -515200,7 +515369,7 @@ "testharness" ], "css/css-masking/parsing/clip-valid.html": [ - "e7805a38a0634d760bdc31e4c331da1a56582bc9", + "2630e55883c57a0a733071ad2f49b55e2bd77a59", "testharness" ], "css/css-masking/parsing/resources/parsing-testcommon.js": [ @@ -517531,6 +517700,14 @@ "38d0844f6ef10d214b7d23af45d02c8093d9c00e", "testharness" ], + "css/css-pseudo/first-line-and-placeholder-ref.html": [ + "b1aaba95588025ae60b324f23cc14e3b0ef40836", + "support" + ], + "css/css-pseudo/first-line-and-placeholder.html": [ + "829ee2c50f5b6198f9cc0b3ae01b208d20ed7702", + "reftest" + ], "css/css-pseudo/marker-and-other-pseudo-elements-ref.html": [ "73ab862dcf3131ae7d7166ef06e52db0cd0eb7c7", "support" @@ -521355,6 +521532,10 @@ "33aa880de7eb7c4128022871dfd5e2895be30dcc", "reftest" ], + "css/css-sizing/whitespace-and-break.html": [ + "54107f6567df03437aebb1fe8aa5c6403cb1ecf1", + "reftest" + ], "css/css-speech/Integer.html": [ "8db91e711b22ead393b1d9a18c224a7f838b85b0", "manual" @@ -551652,7 +551833,7 @@ "reftest" ], "css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001-ref.html": [ - "034e0ab0215239f057137323feada9b6a8540e50", + "88f1d3fd76beb69334a236fd60c4c94ba9a4d437", "support" ], "css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001.html": [ @@ -556867,6 +557048,14 @@ "1f6e81539cf5a3c3a339e3a69f4c6446688c3cd3", "reftest" ], + "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html": [ + "af82ff9650987818b6a5a5c3e82386d0fd882325", + "support" + ], + "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html": [ + "3d2248b6f9200cd23607c1fe6ff543260c43e378", + "reftest" + ], "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-zero-2-ref.html": [ "54a7661d6ae90a46a811d988687e2d4b9b927a96", "support" @@ -556884,7 +557073,7 @@ "support" ], "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/reftest.list": [ - "791816169df64e27949974a29a47805c91592dc5", + "56d1d0dca24abcb9a9147b55f10f2a47b5efd61f", "support" ], "css/vendor-imports/mozilla/mozilla-central-reftests/transforms/transform-containing-block-dynamic-1a.html": [ @@ -558180,7 +558369,7 @@ "reftest" ], "css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/reftest.list": [ - "b9954b5e7f7ae188dc9323e7ae4b29147e80e96c", + "30fbc616b8608ca9b5dc1aa1a17a0dc12011ddc0", "support" ], "css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/support/WidthTest-Regular.otf": [ @@ -558632,7 +558821,7 @@ "support" ], "docs/_running-tests/chrome_android.md": [ - "7a26348aabd414f1d8e2da68717dd0a16d3f6ce8", + "f1e09247c9f41cf3c55aa087b063e42d48d88319", "support" ], "docs/_running-tests/index.md": [ @@ -564432,7 +564621,7 @@ "support" ], "fetch/corb/README.md": [ - "c786c1df10c1edad9b25be4ec112250864c328e5", + "a20a0aec267558052757c8dd368219730a206e34", "support" ], "fetch/corb/img-html-correctly-labeled.sub-ref.html": [ @@ -568711,8 +568900,8 @@ "0f2e164f656015ba43e2b3471af67a5d16fb97ea", "support" ], - "html/browsers/windows/nested-browsing-contexts/frameElement.html": [ - "9272ddfc9d2d7301e7adadc5ca06f03d9a224b1f", + "html/browsers/windows/nested-browsing-contexts/frameElement.sub.html": [ + "480ab947e93b63641f6920b17851ae2d98605b5c", "testharness" ], "html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html": [ @@ -575167,6 +575356,10 @@ "da39a3ee5e6b4b0d3255bfef95601890afd80709", "support" ], + "html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html": [ + "a467530a931aae564a73518487b12521c6dd6377", + "testharness" + ], "html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html": [ "34aa7e5a7d4daba412fa700859913cf9def77565", "testharness" @@ -575188,7 +575381,7 @@ "support" ], "html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js": [ - "03fc73b64f0fd6f80bbb5616da4a4528162638ee", + "d0eac1b59b0514b526be649a28d9fbd54e47db99", "support" ], "html/infrastructure/urls/resolving-urls/query-encoding/resources/resource.py": [ @@ -586271,6 +586464,10 @@ "2ac2738dd428f3937fc2fd15dae2f98df5e3feb1", "support" ], + "keyboard-map/OWNERS": [ + "3151ee04a3b456d750df980594a192161868a337", + "support" + ], "keyboard-map/idlharness.https.html": [ "3215b6729d83ca2841baf6eb33445eb07e0a7c25", "testharness" @@ -587552,7 +587749,7 @@ "manual" ], "mediacapture-streams/MediaStreamTrack-getCapabilities.https.html": [ - "3a6bdcf56d9414934be70d32765c04449532b853", + "2121f9fcccf971874eb2fe41422db05da35b44ba", "testharness" ], "mediacapture-streams/MediaStreamTrack-getSettings.https.html": [ @@ -594912,11 +595109,11 @@ "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.html": [ - "bc7b9afa9ae08d707bc6de78b6ca16c5ed6ff425", + "265026f5618d6a538291509c51c323a8810f8e9e", "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html": [ - "8dafe883a6f52b66e528fcb6a86c72a147f8cf9d", + "6462aca7d799136064e86fe71d7adda4aed68127", "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html": [ @@ -594936,7 +595133,7 @@ "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html": [ - "1963e2f24313314c99e39e29f6818d39c2385a0d", + "1b4d2ea0c251aac3f35425bd9f871d258074853b", "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html": [ @@ -608852,7 +609049,7 @@ "testharness" ], "shadow-dom/Document-prototype-currentScript.html": [ - "eadcbb987e528dee0bd773ce48026f64513a299e", + "c19ae5aa7d8ee63a50514fedd66231e48c31297e", "testharness" ], "shadow-dom/Document-prototype-importNode.html": [ @@ -622627,6 +622824,10 @@ "c67d281e78f9672e5f25fdde6b978e0fb7bd806e", "testharness" ], + "workers/WorkerGlobalScope_requestAnimationFrame.htm": [ + "812f9da59bd8b440aad647f60227c0f66a1404c3", + "testharness" + ], "workers/WorkerGlobalScope_setInterval.htm": [ "30371bcd0af113ee5dc0a7c4a40a67b99efdfa78", "testharness" @@ -625371,6 +625572,10 @@ "db6171c61a37cd98ea5b9c1549432f1e2b53e7eb", "testharness" ], + "xhr/sync-no-timeout.any.js": [ + "d1078052ef5593c33de085f9e0c5ceb73c47f02e", + "testharness" + ], "xhr/template-element.html": [ "748f12beaa646e244f8312afd545f56075cac727", "testharness" diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini index 78879bad5f1..5b38c37b086 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini @@ -1,5 +1,4 @@ [javascript-url-abort-return-value-undefined.tentative.html] - expected: TIMEOUT [Not aborting fetch for javascript:undefined navigation] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.html.ini b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini similarity index 92% rename from tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.html.ini rename to tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini index 96ec6c1081b..ff79675f6d3 100644 --- a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.html.ini +++ b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html.ini @@ -1,5 +1,4 @@ -[frameElement.html] - type: testharness +[frameElement.sub.html] expected: TIMEOUT [The window's frameElement attribute must return its container element if it is a nested browsing context] expected: FAIL diff --git a/tests/wpt/metadata/workers/WorkerGlobalScope_requestAnimationFrame.htm.ini b/tests/wpt/metadata/workers/WorkerGlobalScope_requestAnimationFrame.htm.ini new file mode 100644 index 00000000000..5ec87534923 --- /dev/null +++ b/tests/wpt/metadata/workers/WorkerGlobalScope_requestAnimationFrame.htm.ini @@ -0,0 +1,5 @@ +[WorkerGlobalScope_requestAnimationFrame.htm] + expected: ERROR + [ WorkerGlobalScope API: requestAnimationFrame()] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini b/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini new file mode 100644 index 00000000000..1de61088fe1 --- /dev/null +++ b/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini @@ -0,0 +1,8 @@ +[sync-no-timeout.any.sharedworker.html] + [Untitled] + expected: FAIL + + +[sync-no-timeout.any.worker.html] + +[sync-no-timeout.any.html] diff --git a/tests/wpt/metadata/xhr/xmlhttprequest-sync-default-feature-policy.sub.html.ini b/tests/wpt/metadata/xhr/xmlhttprequest-sync-default-feature-policy.sub.html.ini index 52e7f0fcea5..b1e3d945142 100644 --- a/tests/wpt/metadata/xhr/xmlhttprequest-sync-default-feature-policy.sub.html.ini +++ b/tests/wpt/metadata/xhr/xmlhttprequest-sync-default-feature-policy.sub.html.ini @@ -1,5 +1,5 @@ [xmlhttprequest-sync-default-feature-policy.sub.html] - expected: TIMEOUT + expected: ERROR [Default "sync-xhr" feature policy ["*"\] allows same-origin iframes.] expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-release-upon-reload.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-release-upon-reload.html.ini new file mode 100644 index 00000000000..84c7aa47561 --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-release-upon-reload.html.ini @@ -0,0 +1,5 @@ +[context-release-upon-reload.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini new file mode 100644 index 00000000000..594360ffb15 --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini @@ -0,0 +1,5 @@ +[shader-uniform-packing-restrictions.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini new file mode 100644 index 00000000000..fb8852c9e7a --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini @@ -0,0 +1,5 @@ +[shader-with-non-reserved-words.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/web-platform-tests/CODEOWNERS b/tests/wpt/web-platform-tests/CODEOWNERS new file mode 100644 index 00000000000..e35f9232079 --- /dev/null +++ b/tests/wpt/web-platform-tests/CODEOWNERS @@ -0,0 +1,2 @@ +# Prevent accidentially touching CSS submodules +/css/tools/ @plinss @kojiishi @jgraham @gsnedders diff --git a/tests/wpt/web-platform-tests/README.md b/tests/wpt/web-platform-tests/README.md index 6fa4f74490b..a942745c7b0 100644 --- a/tests/wpt/web-platform-tests/README.md +++ b/tests/wpt/web-platform-tests/README.md @@ -286,6 +286,14 @@ To prevent browser SSL warnings when running HTTPS tests locally, the web-platform-tests Root CA file `cacert.pem` in [tools/certs](tools/certs) must be added as a trusted certificate in your OS/browser. +**NOTE**: The CA should not be installed in any browser profile used +outside of tests, since it may be used to generate fake +certificates. For browsers that use the OS certificate store, tests +should therefore not be run manually outside a dedicated OS instance +(e.g. a VM). To avoid this problem when running tests in Chrome or +Firefox use `wpt run`, which disables certificate checks and therefore +doesn't require the root CA to be trusted. + Publication =========== diff --git a/tests/wpt/web-platform-tests/async-local-storage/OWNERS b/tests/wpt/web-platform-tests/async-local-storage/OWNERS new file mode 100644 index 00000000000..7231f6248dc --- /dev/null +++ b/tests/wpt/web-platform-tests/async-local-storage/OWNERS @@ -0,0 +1 @@ +@domenic diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html new file mode 100644 index 00000000000..e14541b7beb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html @@ -0,0 +1,66 @@ + + + + + + + + + + +
+ +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html new file mode 100644 index 00000000000..1b45998d2d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html @@ -0,0 +1,66 @@ + + + + + + + + + + +
+ +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html new file mode 100644 index 00000000000..63590c9203b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html @@ -0,0 +1,66 @@ + + + + + + + + + + +
+ +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html new file mode 100644 index 00000000000..815f5254d5d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html @@ -0,0 +1,66 @@ + + + + + + + + + + +
+ +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html index 1fbfec9f792..cc4448464c3 100644 --- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html @@ -57,5 +57,5 @@ diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html index a158840894f..add1a3d96bf 100644 --- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html @@ -56,5 +56,5 @@ diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html index 8fab5e44ac4..42e9c563574 100644 --- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html @@ -57,5 +57,5 @@ diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html index 79d2aca2a75..188e5864c16 100644 --- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html +++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html @@ -56,5 +56,5 @@ diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js similarity index 78% rename from tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js rename to tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js index 73155732971..7531f69b1b6 100644 --- a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js +++ b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js @@ -9,6 +9,8 @@ function parseNumber(value) { registerLayout('test', class { static get childInputProperties() { return [ + '--available-inline-size', + '--available-block-size', '--fixed-inline-size', '--fixed-block-size', '--inline-size-expected', @@ -20,9 +22,16 @@ registerLayout('test', class { *layout(children, edges, constraints, styleMap) { const childFragments = yield children.map((child) => { const childConstraints = {}; + const availableInlineSize = parseNumber(child.styleMap.get('--available-inline-size')); + const availableBlockSize = parseNumber(child.styleMap.get('--available-block-size')); const fixedInlineSize = parseNumber(child.styleMap.get('--fixed-inline-size')); const fixedBlockSize = parseNumber(child.styleMap.get('--fixed-block-size')); - return child.layoutNextFragment({fixedInlineSize, fixedBlockSize}); + return child.layoutNextFragment({ + availableInlineSize, + availableBlockSize, + fixedInlineSize, + fixedBlockSize + }); }); const actual = childFragments.map((childFragment) => { diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html index 1ac795be56b..68b67c93131 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html +++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html @@ -14,6 +14,7 @@ diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html index 24bb782d332..34a24ea305d 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html +++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html @@ -14,7 +14,7 @@ diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder-ref.html new file mode 100644 index 00000000000..dbadd365c25 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder-ref.html @@ -0,0 +1,10 @@ + + + +
+ +
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder.html b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder.html new file mode 100644 index 00000000000..2db3480feb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-and-placeholder.html @@ -0,0 +1,19 @@ + + +Interaction of ::first-line and ::placeholder + + + + + +
+ +
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/whitespace-and-break.html b/tests/wpt/web-platform-tests/css/css-sizing/whitespace-and-break.html new file mode 100644 index 00000000000..f3ea3764478 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/whitespace-and-break.html @@ -0,0 +1,10 @@ + +Collapsable whitespace and break after inline-block + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001-ref.html index d14234b453b..8f99ea1d56a 100644 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001-ref.html +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-anonymous-items-001-ref.html @@ -10,6 +10,6 @@ - a ab bx x + a a
b b
x x diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html new file mode 100644 index 00000000000..31be3d081e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context-ref.html @@ -0,0 +1,17 @@ + + +CSS transforms: 'perspective' on a non-transformable element doesn't create a stacking context + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html new file mode 100644 index 00000000000..8916a39bbb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/perspective-untransformable-no-stacking-context.html @@ -0,0 +1,25 @@ + + +CSS transforms: 'perspective' on a non-transformable element doesn't create a stacking context + + + + + + + +
+ +
+
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/reftest.list index f398b1b9da3..33773a4c09f 100644 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/reftest.list +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/transforms/reftest.list @@ -4,6 +4,7 @@ == perspective-containing-block-dynamic-1b.html containing-block-dynamic-1-ref.html == perspective-zero.html reference/green.html == perspective-zero-2.html perspective-zero-2-ref.html +== perspective-untransformable-no-stacking-context.html perspective-untransformable-no-stacking-context-ref.html == individual-transform-1.html individual-transform-1-ref.html == individual-transform-2a.html individual-transform-2-ref.html diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/reftest.list index cdbd971bdfb..be4eea1fabb 100644 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/reftest.list +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/reftest.list @@ -1,4 +1,3 @@ - == text-combine-upright-break-inside-001.html text-combine-upright-break-inside-001-ref.html == text-combine-upright-break-inside-001a.html text-combine-upright-break-inside-001-ref.html == text-combine-upright-compression-001.html text-combine-upright-compression-001-ref.html diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md index 8af8aaed580..334ef8c85bf 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md @@ -36,6 +36,9 @@ Downloads/ as it'll be easier to find). Open Settings -> Security & location -> Encryption & credentials -> Install from storage. Find and install `cacert.crt`. (The setting entries might be slightly different based your Android version.) +Note that having this CA installed on your device outside of a test +environment represents a security risk. + Finally, we may run wpt with the `chrome_android` product diff --git a/tests/wpt/web-platform-tests/fetch/corb/README.md b/tests/wpt/web-platform-tests/fetch/corb/README.md index 48fc4ad6871..f131b5a1da9 100644 --- a/tests/wpt/web-platform-tests/fetch/corb/README.md +++ b/tests/wpt/web-platform-tests/fetch/corb/README.md @@ -12,20 +12,22 @@ because all of these tests verify behavior that is important to the CORB algorithm. -### Disclaimer: CORB is not standardized yet +### CORB is not universally implemented yet -Note that CORB is currently in very early stages of standardization path. At -the same time, some tests in this directory (e.g. +CORB has been included +in the [Fetch spec](https://fetch.spec.whatwg.org/#corb) +since [May 2018](https://github.com/whatwg/fetch/pull/686). + +Some tests in this directory (e.g. `css-with-json-parser-breaker`) cover behavior spec-ed outside of CORB (making sure that CORB doesn't change the existing web behavior) and therefore are -valuable independently from CORB's standardization efforts. +valuable independently from CORB's standardization efforts and should already +be passing across all browsers. -Tests that cover behavior that is changed by CORB have to be marked as +Tests that cover behavior that is changed by CORB are currently marked as [tentative](https://web-platform-tests.org/writing-tests/file-names.html) -(using `.tentative` substring in their filename) until CORB -is included in the official -[Fetch spec](https://fetch.spec.whatwg.org/). Such tests may fail unless -CORB is enabled. In practice this means that: +(using `.tentative` substring in their filename). +Such tests may fail unless CORB is enabled. In practice this means that: * Such tests will pass in Chromium (where CORB is enabled by default [since M68](https://crrev.com/553830)). * Such tests may fail in other browsers. @@ -53,12 +55,13 @@ WPT tests can cover the following: * blocking of CORB-protected documents can prevent triggering syntax errors in scripts - `script-html-via-cross-origin-blob-url.tentative.sub.html` +* Helping verify which MIME types are protected by CORB. Examples of aspects that WPT tests cannot cover (these aspects have to be covered in other, browser-specific tests): * Verifying that CORB doesn't affect things that are only indirectly observable by the web (like [prefetch](https://html.spec.whatwg.org/#link-type-prefetch). -* Verifying that CORB strips non-safe-listed headers of blocked responses. +* Verifying that CORB strips headers of blocked responses. * Verifying that CORB blocks responses before they reach the process hosting a cross-origin execution context. diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html similarity index 81% rename from tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html rename to tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html index 04365e0a6e8..ebd981a969b 100644 --- a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html +++ b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html @@ -4,7 +4,6 @@ - + + + + +
+ diff --git a/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js b/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js index 9e0f7f53135..2c8a7fe7b96 100644 --- a/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js +++ b/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js @@ -49,55 +49,6 @@ onload = function() { test_obj.step_timeout(poll, 200); } - // background attribute, check with getComputedStyle - function test_background(tag) { - var spec_url = 'https://html.spec.whatwg.org/multipage/rendering.html'; - spec_url += tag == 'body' ? '#the-page' : '#tables'; - test(function() { - var elm = document.createElement(tag); - document.body.appendChild(elm); - this.add_cleanup(function() { - document.body.removeChild(elm); - }); - elm.setAttribute('background', input_url_png); - var got = getComputedStyle(elm).backgroundImage; - assert_true(got.indexOf(expected_current) > -1, msg(expected_current, got)); - }, 'getComputedStyle <'+tag+' background>', - {help:spec_url}); - } - - 'body, table, thead, tbody, tfoot, tr, td, th'.split(', ').forEach(function(str) { - test_background(str); - }); - - // get a reflecting IDL attributes whose content attribute takes a URL or a list of space-separated URLs - function test_reflecting(tag, attr, idlAttr, multiple) { - idlAttr = idlAttr || attr; - var input = input_url_html; - if (multiple) { - input += ' ' + input; - } - test(function() { - var elm = document.createElement(tag); - assert_true(idlAttr in elm, idlAttr + ' is not supported'); - elm.setAttribute(attr, input); - var got = elm[idlAttr]; - assert_true(got.indexOf(expected_current) > -1, msg(expected_current, got)); - }, 'Getting <'+tag+'>.'+idlAttr + (multiple ? ' (multiple URLs)' : ''), - {help:'https://html.spec.whatwg.org/multipage/#reflecting-content-attributes-in-idl-attributes'}); - } - - ('iframe src, a href, base href, link href, img src, embed src, object data, track src, video src, audio src, input src, form action, ' + - 'input formaction formAction, button formaction formAction, script src').split(', ').forEach(function(str) { - var arr = str.split(' '); - test_reflecting(arr[0], arr[1], arr[2]); - }); - - 'a ping'.split(', ').forEach(function(str) { - var arr = str.split(' '); - test_reflecting(arr[0], arr[1], arr[2], true); - }); - function setup_navigation(elm, iframe, id, test_obj) { iframe.name = id; elm.target = id; diff --git a/tests/wpt/web-platform-tests/keyboard-map/OWNERS b/tests/wpt/web-platform-tests/keyboard-map/OWNERS new file mode 100644 index 00000000000..03891384838 --- /dev/null +++ b/tests/wpt/web-platform-tests/keyboard-map/OWNERS @@ -0,0 +1 @@ +@garykac diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index ce825bfa021..4948fe6bf42 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -214,7 +214,7 @@ SET TIMEOUT: xhr/resources/init.htm SET TIMEOUT: xhr/resources/xmlhttprequest-timeout.js # generate_tests implementation and sample usage -GENERATE_TESTS: resources/test/tests/generate-callback.html +GENERATE_TESTS: resources/test/tests/functional/generate-callback.html GENERATE_TESTS: resources/testharness.js # generate_tests usage (should be got rid of) @@ -289,9 +289,9 @@ SET TIMEOUT: html/browsers/windows/auxiliary-browsing-contexts/resources/close-o SET TIMEOUT: html/dom/documents/dom-tree-accessors/Document.currentScript.html SET TIMEOUT: html/webappapis/timers/* SET TIMEOUT: resources/chromium/* -SET TIMEOUT: resources/test/tests/add_cleanup.html -SET TIMEOUT: resources/test/tests/api-tests-1.html -SET TIMEOUT: resources/test/tests/worker.js +SET TIMEOUT: resources/test/tests/functional/add_cleanup.html +SET TIMEOUT: resources/test/tests/functional/api-tests-1.html +SET TIMEOUT: resources/test/tests/functional/worker.js SET TIMEOUT: resources/testharness.js # setTimeout use in reftests diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html index d9283705f32..6eea9994891 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html +++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html @@ -11,6 +11,7 @@ var audioCapabilities = stream.getAudioTracks()[0].getCapabilities(); var videoCapabilities = stream.getVideoTracks()[0].getCapabilities(); assert_true(undefined !== audioCapabilities.deviceId, "MediaTrackCapabilities's deviceId should exist for an audio track."); + assert_true(undefined !== audioCapabilities.groupId, "MediaTrackCapabilities's groupId should exist for an audio track."); assert_true(undefined !== audioCapabilities.echoCancellation, "MediaTrackCapabilities's echoCancellation should exist for an audio track."); assert_true(undefined !== audioCapabilities.autoGainControl, "MediaTrackCapabilities's autoGainControl should exist for an audio track."); assert_true(undefined !== audioCapabilities.noiseSuppression, "MediaTrackCapabilities's noiseSuppression should exist for an audio track."); diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.html index 0377410e776..fd8ea50934c 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.html +++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.html @@ -21,7 +21,6 @@ test(function() { var ctx = offscreenCanvas.getContext('2d'); ctx.fillStyle = "#0f0"; ctx.fillRect(0, 0, 10, 10); - ctx.commit(); // commit() propagation is taken care of by an async task, which means the // place holder contents should still be transparent black at this moment. verifyPlaceholder(placeholder, 0,0,0,0, "0,0,0,0"); @@ -36,8 +35,7 @@ test(function() { var ctx = offscreenCanvas.getContext('2d'); ctx.fillStyle = "#0f0"; ctx.fillRect(0, 0, 10, 10); - assert_throws("InvalidStateError", function() { ctx.commit(); }); -}, "Test that calling commit on an OffscreenCanvas that is not transferred from a HTMLCanvasElement throws an exception."); + ctx.commit(); +}, "Test that calling commit on an OffscreenCanvas that is not transferred from a HTMLCanvasElement is a noop."); - diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html index 380686fd8b1..3b1eac8c9ff 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html +++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html @@ -6,8 +6,7 @@ diff --git a/tests/wpt/web-platform-tests/resources/test/README.md b/tests/wpt/web-platform-tests/resources/test/README.md index c228372399c..73885247efc 100644 --- a/tests/wpt/web-platform-tests/resources/test/README.md +++ b/tests/wpt/web-platform-tests/resources/test/README.md @@ -26,12 +26,12 @@ the correct arguments. ## Authoring Tests -Test cases are expressed as `.html` files located within the `tests/` -sub-directory. Each test should include the `testharness.js` library with the -following markup: +Test cases are expressed as `.html` files located within the `tests/unit/` and +`tests/funtional/` sub-directories. Each test should include the +`testharness.js` library with the following markup: - - + + This should be followed by one or more ` -Finally, each test may include a summary of the expected results as a JSON -string within a ` - -This is useful to test, for example, whether asserations that should fail or -throw actually do. diff --git a/tests/wpt/web-platform-tests/resources/test/conftest.py b/tests/wpt/web-platform-tests/resources/test/conftest.py index abc3b6cfdda..dc645940d6a 100644 --- a/tests/wpt/web-platform-tests/resources/test/conftest.py +++ b/tests/wpt/web-platform-tests/resources/test/conftest.py @@ -17,8 +17,13 @@ def pytest_addoption(parser): parser.addoption("--binary", action="store", default=None, help="path to browser binary") def pytest_collect_file(path, parent): - if path.ext.lower() == '.html': - return HTMLItem(str(path), parent) + if path.ext.lower() != '.html': + return + + # Tests are organized in directories by type + test_type = os.path.relpath(str(path), HERE).split(os.path.sep)[1] + + return HTMLItem(str(path), test_type, parent) def pytest_configure(config): config.driver = webdriver.Firefox(firefox_binary=config.getoption("--binary")) @@ -28,8 +33,13 @@ def pytest_configure(config): config.add_cleanup(config.driver.quit) class HTMLItem(pytest.Item, pytest.Collector): - def __init__(self, filename, parent): + def __init__(self, filename, test_type, parent): self.filename = filename + self.type = test_type + + if test_type not in ('functional', 'unit'): + raise ValueError('Unrecognized test type: "%s"' % test_type) + with io.open(filename, encoding=ENC) as f: markup = f.read() @@ -47,6 +57,10 @@ class HTMLItem(pytest.Item, pytest.Collector): if not name: raise ValueError('No name found in file: %s' % filename) + elif self.type == 'functional' and not self.expected: + raise ValueError('Functional tests must specify expected report data') + elif self.type == 'unit' and self.expected: + raise ValueError('Unit tests must not specify expected report data') super(HTMLItem, self).__init__(name, parent) @@ -58,6 +72,29 @@ class HTMLItem(pytest.Item, pytest.Collector): return pytest.Collector.repr_failure(self, excinfo) def runtest(self): + if self.type == 'unit': + self._run_unit_test() + elif self.type == 'functional': + self._run_functional_test() + else: + raise NotImplementedError + + def _run_unit_test(self): + driver = self.session.config.driver + server = self.session.config.server + + driver.get(server.url(HARNESS)) + + actual = driver.execute_async_script('runTest("%s", "foo", arguments[0])' % server.url(str(self.filename))) + + summarized = self._summarize(actual) + + assert summarized[u'summarized_status'][u'status_string'] == u'OK', summarized[u'summarized_status'][u'message'] + for test in summarized[u'summarized_tests']: + msg = "%s\n%s" % (test[u'name'], test[u'message']) + assert test[u'status_string'] == u'PASS', msg + + def _run_functional_test(self): driver = self.session.config.driver server = self.session.config.server @@ -70,20 +107,20 @@ class HTMLItem(pytest.Item, pytest.Collector): indices = [test_obj.get('index') for test_obj in actual['tests']] self._assert_sequence(indices) + summarized = self._summarize(actual) + + assert summarized == self.expected + + def _summarize(self, actual): summarized = {} + summarized[u'summarized_status'] = self._summarize_status(actual['status']) summarized[u'summarized_tests'] = [ self._summarize_test(test) for test in actual['tests']] summarized[u'summarized_tests'].sort(key=lambda test_obj: test_obj.get('name')) summarized[u'type'] = actual['type'] - if not self.expected: - assert summarized[u'summarized_status'][u'status_string'] == u'OK', summarized[u'summarized_status'][u'message'] - for test in summarized[u'summarized_tests']: - msg = "%s\n%s" % (test[u'name'], test[u'message']) - assert test[u'status_string'] == u'PASS', msg - else: - assert summarized == self.expected + return summarized @staticmethod def _assert_sequence(nums): diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/helper.js b/tests/wpt/web-platform-tests/resources/test/idl-helper.js similarity index 100% rename from tests/wpt/web-platform-tests/resources/test/tests/idlharness/helper.js rename to tests/wpt/web-platform-tests/resources/test/idl-helper.js diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup.html similarity index 95% rename from tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup.html index c5e0ad79ac7..468319fdbea 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup.html @@ -2,8 +2,8 @@ Test#add_cleanup - - + +
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_count.html similarity index 88% rename from tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_count.html index 3ea30a3f084..75f97821918 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_count.html @@ -2,8 +2,8 @@ Test#add_cleanup reported count - - + +
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err.html similarity index 90% rename from tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err.html index bae1eb5a567..5ec6a3fdd08 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err.html @@ -2,8 +2,8 @@ Test#add_cleanup: error - - + +
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err_multi.html similarity index 92% rename from tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err_multi.html index 3f116c5876d..7556829ae09 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/add_cleanup_err_multi.html @@ -2,8 +2,8 @@ Test#add_cleanup: multiple functions with one in error - - + +
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/api-tests-1.html similarity index 99% rename from tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/api-tests-1.html index 3b5234f3626..4d9c774577b 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/api-tests-1.html @@ -7,8 +7,8 @@

Sample HTML5 API Tests

- - + + - + + +

Sample HTML5 API Tests

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/force_timeout.html similarity index 91% rename from tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/force_timeout.html index 7827068b03e..2058fdb8621 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/force_timeout.html @@ -6,8 +6,8 @@

Test#force_timeout

- - + + - + + - - - + + + + - + - + +

Callbacks From Tests Running In An IFRAME

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-errors.html similarity index 92% rename from tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-errors.html index a44d034e093..67655fd64e7 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-errors.html @@ -2,8 +2,8 @@ Example with iframe that consolidates errors via fetch_tests_from_window - - + + diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-tests.html similarity index 95% rename from tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-tests.html index 7b8a8970284..0fa1f20797d 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-consolidate-tests.html @@ -2,8 +2,8 @@ Example with iframe that consolidates tests via fetch_tests_from_window - - + + diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-msg.html similarity index 95% rename from tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-msg.html index c6bc97beef9..283a5d98cc3 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/iframe-msg.html @@ -2,8 +2,8 @@ Example with iframe that notifies containing document via cross document messaging - - + +

Notifications From Tests Running In An IFRAME

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/order.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/order.html similarity index 84% rename from tests/wpt/web-platform-tests/resources/test/tests/order.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/order.html index 1604f437f3d..686383861a0 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/order.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/order.html @@ -6,8 +6,8 @@
- - + + - + + - + + - + + - + + diff --git a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/single-page-test-no-body.html similarity index 80% rename from tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/single-page-test-no-body.html index c62ee18e3cd..41671b83d7c 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/single-page-test-no-body.html @@ -1,7 +1,7 @@ Example single page test with no body - - + + - + + +

Harness Handling Uncaught Exception

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/uncaught-exception-ignore.html similarity index 94% rename from tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/uncaught-exception-ignore.html index 66240780c25..6bd0ddbb0d2 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/uncaught-exception-ignore.html @@ -3,7 +3,7 @@ Harness Ignoring Uncaught Exception - +

Harness Ignoring Uncaught Exception

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.html similarity index 95% rename from tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.html index 98a010dd742..dad46761890 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.html @@ -2,8 +2,8 @@ Dedicated Worker Tests - - + +

Dedicated Web Worker Tests

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-error.js b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-error.js similarity index 51% rename from tests/wpt/web-platform-tests/resources/test/tests/worker-error.js rename to tests/wpt/web-platform-tests/resources/test/tests/functional/worker-error.js index a25f0db188b..8ef2d22d241 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-error.js +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-error.js @@ -1,3 +1,3 @@ -importScripts("../../testharness.js"); +importScripts("/resources/testharness.js"); throw new Error("This failure is expected."); diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-service.html similarity index 96% rename from tests/wpt/web-platform-tests/resources/test/tests/worker-service.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/worker-service.html index d970827fc44..2e07746e622 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-service.html @@ -2,8 +2,8 @@ Example with a service worker - - + +

Service Worker Tests

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-shared.html similarity index 94% rename from tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html rename to tests/wpt/web-platform-tests/resources/test/tests/functional/worker-shared.html index 9c5666b8ed0..e26f17dec27 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-shared.html @@ -2,8 +2,8 @@ Example with a shared worker - - + +

Shared Web Worker Tests

diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker.js b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker.js similarity index 94% rename from tests/wpt/web-platform-tests/resources/test/tests/worker.js rename to tests/wpt/web-platform-tests/resources/test/tests/functional/worker.js index a25621ac1e4..a923bc2d89e 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker.js +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker.js @@ -1,4 +1,4 @@ -importScripts("../../testharness.js"); +importScripts("/resources/testharness.js"); test( function(test) { diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlArray/is_json_type.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html similarity index 99% rename from tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlArray/is_json_type.html rename to tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html index f7ebc9dd059..d31d9173de2 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlArray/is_json_type.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html @@ -9,7 +9,7 @@ - + - + - + diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/default_to_json_operation.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/default_to_json_operation.html similarity index 99% rename from tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/default_to_json_operation.html rename to tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/default_to_json_operation.html index a77ee3e7f1f..4b3dcfe6898 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/default_to_json_operation.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/default_to_json_operation.html @@ -9,7 +9,7 @@ - +
     interface A : B {
       attribute DOMString a;
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/get_inheritance_stack.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
similarity index 97%
rename from tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/get_inheritance_stack.html
rename to tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
index fed6f9212be..66b79afc12f 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/get_inheritance_stack.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
@@ -9,7 +9,7 @@
 
 
 
-
+
 
 
 
-
+
 
 
 
-
+
 
 
 
-
+
 
     interface A : B { };
     interface B : C { };
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterfaceMember/is_to_json_regular_operation.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterfaceMember/is_to_json_regular_operation.html
similarity index 96%
rename from tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterfaceMember/is_to_json_regular_operation.html
rename to tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterfaceMember/is_to_json_regular_operation.html
index ac923dd5a8f..abfa4ab800b 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterfaceMember/is_to_json_regular_operation.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterfaceMember/is_to_json_regular_operation.html
@@ -9,7 +9,7 @@
 
 
 
-
+
 
+
+
+ + diff --git a/tests/wpt/web-platform-tests/xhr/sync-no-timeout.any.js b/tests/wpt/web-platform-tests/xhr/sync-no-timeout.any.js new file mode 100644 index 00000000000..d23fbb8c66d --- /dev/null +++ b/tests/wpt/web-platform-tests/xhr/sync-no-timeout.any.js @@ -0,0 +1,16 @@ +// META: global=sharedworker +// META: timeout=long + +// This is a regression test for https://crbug.com/844268, when a timeout of 10 +// seconds was applied to XHR in Chrome. There should be no timeout unless the +// "timeout" parameter is set on the object. +test(t => { + let xhr = new XMLHttpRequest(); + + // For practical reasons, we can't wait forever. 12 seconds is long enough to + // reliably reproduce the bug in Chrome. + xhr.open('GET', 'resources/trickle.py?ms=1000&count=12', false); + + // The test will fail if this throws. + xhr.send(); +}, 'Sync XHR should not have a timeout');