diff options
53 files changed, 1900 insertions, 88 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini index 76b398963ae..dd4ffcf4345 100644 --- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -1,5 +1,4 @@ [url-in-tags-revoke.window.html] - expected: TIMEOUT [Fetching a blob URL immediately before revoking it works in an iframe.] expected: FAIL @@ -15,6 +14,3 @@ [Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.] expected: FAIL - [Fetching a blob URL immediately before revoking it works in <script> tags.] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index df93c43600a..6870675a9a9 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -8773,12 +8773,174 @@ {} ] ], + "css/css-text-decor/text-decoration-line-001-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-001-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-002-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-002-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-003-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-003-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-004-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-004-manual.html", + {} + ] + ], "css/css-text-decor/text-decoration-line-014.xht": [ [ "css/css-text-decor/text-decoration-line-014.xht", {} ] ], + "css/css-text-decor/text-decoration-line-040-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-040-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-040a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-040a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-041-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-041-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-044-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-044-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-045-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-045-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-046a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-046a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-048-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-048-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-048a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-048a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-049-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-049-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-082-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-082-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-085-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-085-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-090-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-090-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-090a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-090a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-091-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-091-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-091a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-091a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-092-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-092-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-092a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-092a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-095-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-095-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-095a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-095a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-096-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-096-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-096a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-096a-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-097-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-097-manual.html", + {} + ] + ], + "css/css-text-decor/text-decoration-line-097a-manual.html": [ + [ + "css/css-text-decor/text-decoration-line-097a-manual.html", + {} + ] + ], "css/css-text/hanging-punctuation/hanging-punctuation-allow-end-001.xht": [ [ "css/css-text/hanging-punctuation/hanging-punctuation-allow-end-001.xht", @@ -141941,6 +142103,30 @@ {} ] ], + "css/css-text/line-breaking/line-breaking-013.html": [ + [ + "css/css-text/line-breaking/line-breaking-013.html", + [ + [ + "/css/css-text/line-breaking/reference/line-breaking-013-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-text/line-breaking/line-breaking-014.html": [ + [ + "css/css-text/line-breaking/line-breaking-014.html", + [ + [ + "/css/css-text/line-breaking/reference/line-breaking-013-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/line-breaking/line-breaking-ic-001.html": [ [ "css/css-text/line-breaking/line-breaking-ic-001.html", @@ -275052,6 +275238,11 @@ {} ] ], + "css/css-text/line-breaking/reference/line-breaking-013-ref.html": [ + [ + {} + ] + ], "css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [ [ {} @@ -346422,6 +346613,12 @@ {} ] ], + "animation-worklet/stateful-animator.https.html": [ + [ + "animation-worklet/stateful-animator.https.html", + {} + ] + ], "animation-worklet/worklet-animation-creation.https.html": [ [ "animation-worklet/worklet-animation-creation.https.html", @@ -353627,6 +353824,12 @@ {} ] ], + "css/css-contain/contain-size-multicol-as-flex-item.html": [ + [ + "css/css-contain/contain-size-multicol-as-flex-item.html", + {} + ] + ], "css/css-contain/inheritance.html": [ [ "css/css-contain/inheritance.html", @@ -474107,7 +474310,7 @@ }, "paths": { ".azure-pipelines.yml": [ - "b0a60cf98816141332d91ec1027c8a39bd2a6be7", + "aff69297b39caef1c35fd77aac4ef941da5bdbb0", "support" ], ".codecov.yml": [ @@ -482122,6 +482325,10 @@ "761e66e7d76f4aaf64c7744d0d04a06e3ba16cd1", "testharness" ], + "animation-worklet/stateful-animator.https.html": [ + "c4b6301fd9dc2e5cf021cb79ddb05032679010f9", + "testharness" + ], "animation-worklet/worklet-animation-cancel-ref.html": [ "d44927374703ef2b38d3ed0c9570609b62baec65", "support" @@ -574786,6 +574993,10 @@ "81465c02d6114aa4a27637b2e77b3d62161c0864", "reftest" ], + "css/css-contain/contain-size-multicol-as-flex-item.html": [ + "19aa12262f9a7dc35f3682b1f7baa3c12949a906", + "testharness" + ], "css/css-contain/contain-size-replaced-001.html": [ "b0dba02f1cd56f4fccc772cfb948dbabb1d600e2", "reftest" @@ -602374,6 +602585,22 @@ "fd5bc5da3a800a7f7e97211e8cb2438bfdc0c462", "reftest" ], + "css/css-text-decor/text-decoration-line-001-manual.html": [ + "76a8f5401494b508b14fc5cc19f07108f53b12a1", + "manual" + ], + "css/css-text-decor/text-decoration-line-002-manual.html": [ + "0e41fd1fcfe713c4b63f7c3d8ed34ea6aee1fe71", + "manual" + ], + "css/css-text-decor/text-decoration-line-003-manual.html": [ + "2e94e8e946b553c02e9c09460723afdc93e741dc", + "manual" + ], + "css/css-text-decor/text-decoration-line-004-manual.html": [ + "5c6da02d1e0e3aa097120a2da527139e9cfdbe3b", + "manual" + ], "css/css-text-decor/text-decoration-line-010.xht": [ "f4b16e32aa185d204c1793f9ca1b0eda502c60fd", "reftest" @@ -602394,6 +602621,98 @@ "7d5f0570b324b81761a1b5dfdc24e3bcc5b66869", "manual" ], + "css/css-text-decor/text-decoration-line-040-manual.html": [ + "c93f4b99084a9c8f54dee6130493c3cc631b434a", + "manual" + ], + "css/css-text-decor/text-decoration-line-040a-manual.html": [ + "5020a1fd118ea0e8bd81994c4e38449b2b33826a", + "manual" + ], + "css/css-text-decor/text-decoration-line-041-manual.html": [ + "7c7c920e990688518acab7aeb054ef713d36f36e", + "manual" + ], + "css/css-text-decor/text-decoration-line-044-manual.html": [ + "2d9048d3d1d5e5a5d97ea3127ae08f38054f9b1e", + "manual" + ], + "css/css-text-decor/text-decoration-line-045-manual.html": [ + "b9d688387569958283f24c3811cd97d8210a48bb", + "manual" + ], + "css/css-text-decor/text-decoration-line-046a-manual.html": [ + "67f2b89ea23576cf51a8654859f5d9d47a8215fc", + "manual" + ], + "css/css-text-decor/text-decoration-line-048-manual.html": [ + "f3a6e137e2d7ae5bc9ab3e930392a7c347661cd5", + "manual" + ], + "css/css-text-decor/text-decoration-line-048a-manual.html": [ + "9bd48defaf03432a5e0acddd4d68aa81a7ea20c4", + "manual" + ], + "css/css-text-decor/text-decoration-line-049-manual.html": [ + "31f9aa762183f604bbdb5964b79052084a1c7f40", + "manual" + ], + "css/css-text-decor/text-decoration-line-082-manual.html": [ + "c4425f90729ca688bd38283a8e5dc1ea42806e49", + "manual" + ], + "css/css-text-decor/text-decoration-line-085-manual.html": [ + "88a5fc02a048dfc12aa981938379c50c59675570", + "manual" + ], + "css/css-text-decor/text-decoration-line-090-manual.html": [ + "f4484c0ee282bb8bdcfc5130a7275a3878fe2cbc", + "manual" + ], + "css/css-text-decor/text-decoration-line-090a-manual.html": [ + "e98688521ffcc4508befe9b9dc019339d6f9c08b", + "manual" + ], + "css/css-text-decor/text-decoration-line-091-manual.html": [ + "94405c0362bc231c2092401fbd066d291a63fed9", + "manual" + ], + "css/css-text-decor/text-decoration-line-091a-manual.html": [ + "e1ba036c257eb4bc4670c3856f86381146641cf0", + "manual" + ], + "css/css-text-decor/text-decoration-line-092-manual.html": [ + "4dffcf6a00efffdfdb042f28cb5994be029fbf00", + "manual" + ], + "css/css-text-decor/text-decoration-line-092a-manual.html": [ + "7f803a35f1603795a6709ee052cd9e544dfabd3d", + "manual" + ], + "css/css-text-decor/text-decoration-line-095-manual.html": [ + "62ca5d1a19e40dfa59fadf8353629686de0894d1", + "manual" + ], + "css/css-text-decor/text-decoration-line-095a-manual.html": [ + "f5bab19374f94fe60c07f7742222ec27180d5881", + "manual" + ], + "css/css-text-decor/text-decoration-line-096-manual.html": [ + "01eaf87875b47897164e7407c01aba59024f7e19", + "manual" + ], + "css/css-text-decor/text-decoration-line-096a-manual.html": [ + "233006c904ebc8568ca18547f48749315847727a", + "manual" + ], + "css/css-text-decor/text-decoration-line-097-manual.html": [ + "9502b2367aca0bae91d2cac7ace69a2dfcd8e96d", + "manual" + ], + "css/css-text-decor/text-decoration-line-097a-manual.html": [ + "e037e15d73c445a72bd81e5fd4971c9e17eba456", + "manual" + ], "css/css-text-decor/text-decoration-line-recalc.html": [ "321aea9f3d93f31685878a14bfc67f9c3e9cf63e", "reftest" @@ -605002,6 +605321,14 @@ "08f956c9166df4770cdd1d2d60aac9c8acd675d2", "reftest" ], + "css/css-text/line-breaking/line-breaking-013.html": [ + "448a41d88f1ff099866f1597edec3ebf5128ecb6", + "reftest" + ], + "css/css-text/line-breaking/line-breaking-014.html": [ + "ea9956362beecb2da890dbef24362a6e9a8be905", + "reftest" + ], "css/css-text/line-breaking/line-breaking-ic-001.html": [ "6cfe6f86a452c19eae31a076710f02dfc8c4ec4e", "reftest" @@ -605022,6 +605349,10 @@ "463dc2287ea251750e0c542873011c9c8707dd30", "support" ], + "css/css-text/line-breaking/reference/line-breaking-013-ref.html": [ + "816015adeab54895037530b8e4d410f81082931f", + "support" + ], "css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [ "421002818f6d5f9837c5de3967a1c3d7b441244f", "support" @@ -640487,7 +640818,7 @@ "testharness" ], "dom/events/Event-dispatch-on-disabled-elements.html": [ - "72e63c4d1e97f1113dd7db357921fd1b0ab9372b", + "361006a7240496e9be747faca5056fe2a62a2cff", "testharness" ], "dom/events/Event-dispatch-order.html": [ @@ -640611,7 +640942,7 @@ "testharness" ], "dom/events/EventTarget-dispatchEvent.html": [ - "1a8bf3de915d5cb8c608ecdef69511d4dbffe113", + "8a0d7353bc62ba8330069fef4c71a0e33321b0aa", "testharness" ], "dom/events/EventTarget-removeEventListener.html": [ @@ -662211,7 +662542,7 @@ "testharness" ], "html/semantics/forms/textfieldselection/selection-start-end-extra.html": [ - "af51354035c5cae33d35cbff03e2eed5d5359f85", + "e76f5f6ea70c2ba769fe6a75e9aa1c95d98e2760", "testharness" ], "html/semantics/forms/textfieldselection/selection-start-end.html": [ @@ -669347,7 +669678,7 @@ "support" ], "interfaces/wake-lock.idl": [ - "202dc6b09f7e6aa56289b62bb810ed0fb2e289d0", + "4c11b695f49986e7e9852348f21fe9bd5e68d185", "support" ], "interfaces/wasm-js-api.idl": [ @@ -669403,7 +669734,7 @@ "support" ], "interfaces/webrtc-stats.idl": [ - "0992b341e1fe3cede699c09eeb5838bd1e7a3999", + "d9d20191ad851f4b6d85cd09e8a53b8697bc840e", "support" ], "interfaces/webrtc.idl": [ @@ -669419,7 +669750,7 @@ "support" ], "interfaces/webxr.idl": [ - "8a3264073e8268282c3db6a891b860d57bfcdb28", + "4c74fdac384299ed22a9b9244411c3755a8741db", "support" ], "interfaces/worklets.idl": [ @@ -710559,7 +710890,7 @@ "support" ], "url/resources/urltestdata.json": [ - "26b8ea2e0bc9a166deef8af1a0df87e0a7e0fda4", + "bf4e2a7833d17fab604eb634051e627887fe936a", "support" ], "url/toascii.window.js": [ @@ -715711,7 +716042,7 @@ "testharness" ], "webrtc/RTCPeerConnection-onnegotiationneeded.html": [ - "f7bf8bd3e3bdc24c63a92da22eaae77b95f0d4fd", + "336b100de058200ab49400fac9ae00f8524b9da9", "testharness" ], "webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [ diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-013.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-013.html.ini new file mode 100644 index 00000000000..e6270623da9 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-013.html.ini @@ -0,0 +1,2 @@ +[line-breaking-013.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-014.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-014.html.ini new file mode 100644 index 00000000000..d9ffea5b5ee --- /dev/null +++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-014.html.ini @@ -0,0 +1,2 @@ +[line-breaking-014.html] + expected: FAIL diff --git a/tests/wpt/metadata/dom/events/EventTarget-dispatchEvent.html.ini b/tests/wpt/metadata/dom/events/EventTarget-dispatchEvent.html.ini index cdf64e987c2..aec746ae879 100644 --- a/tests/wpt/metadata/dom/events/EventTarget-dispatchEvent.html.ini +++ b/tests/wpt/metadata/dom/events/EventTarget-dispatchEvent.html.ini @@ -36,3 +36,6 @@ [If the event's initialized flag is not set, an InvalidStateError must be thrown (WheelEvent).] expected: FAIL + [Capturing event listeners should be called before non-capturing ones] + 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 b9facf16b81..005878525f0 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -22,7 +22,7 @@ expected: NOTRUN [<iframe>: combined response Content-Type: text/plain */*;charset=gbk] - expected: TIMEOUT + expected: FAIL [fetch(): separate response Content-Type: text/html;x=" text/plain] expected: NOTRUN @@ -163,7 +163,7 @@ expected: NOTRUN [<iframe>: combined response Content-Type: text/html;" " text/plain] - expected: TIMEOUT + expected: FAIL [Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain] expected: NOTRUN @@ -172,7 +172,7 @@ expected: NOTRUN [<iframe>: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] - expected: TIMEOUT + expected: FAIL [Response: combined response Content-Type: text/html;x=" text/plain] expected: NOTRUN @@ -202,7 +202,7 @@ expected: NOTRUN [<iframe>: separate response Content-Type: text/html;" " text/plain] - expected: TIMEOUT + expected: FAIL [fetch(): separate response Content-Type: text/plain */*;charset=gbk] expected: NOTRUN @@ -286,7 +286,7 @@ expected: NOTRUN [<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK] - expected: TIMEOUT + expected: FAIL [fetch(): combined response Content-Type: text/html;" " text/plain] expected: NOTRUN @@ -310,32 +310,8 @@ expected: NOTRUN [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] - expected: TIMEOUT - - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] - expected: TIMEOUT - - [<iframe>: combined response Content-Type: text/html;" text/plain] - expected: TIMEOUT - - [<iframe>: combined response Content-Type: text/html */*] - expected: TIMEOUT - - [<iframe>: separate response Content-Type: text/html;" text/plain] - expected: TIMEOUT - - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] - expected: TIMEOUT + expected: FAIL [<iframe>: separate response Content-Type: */* text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] - expected: TIMEOUT - - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] - expected: TIMEOUT - - [<iframe>: combined response Content-Type: text/html;x=" text/plain] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 87c807a49ff..536384f36e1 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL + [X-Content-Type-Options%3A%20%2Cnosniff] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini deleted file mode 100644 index 8cc42056d34..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini +++ /dev/null @@ -1,10 +0,0 @@ -[non-active-document.html] - [DOMParser] - expected: FAIL - - [createHTMLDocument] - expected: FAIL - - [<template>] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini index f4b8503325f..3e87a254e39 100644 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini @@ -14,6 +14,6 @@ [Setting value to a shorter string than defaultValue should correct the cursor position] expected: FAIL - [Shortening value by turning the input type into 'color' and back to 'text' should correct selection{Start,End}] + [Removing child nodes in non-dirty textarea should make selection{Start,End} 0] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index a56bad443a2..66bd350083b 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,5 +1,4 @@ [realtimeanalyser-fft-scaling.html] - expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini new file mode 100644 index 00000000000..dbea4f293ad --- /dev/null +++ b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini @@ -0,0 +1,2 @@ +[transition_calc_implicit.html] + expected: TIMEOUT diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml index b0a60cf9881..aff69297b39 100644 --- a/tests/wpt/web-platform-tests/.azure-pipelines.yml +++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml @@ -186,7 +186,7 @@ jobs: - template: tools/ci/azure/install_certs.yml - template: tools/ci/azure/update_hosts.yml - template: tools/ci/azure/update_manifest.yml - - script: python ./wpt run --no-manifest-update --no-fail-on-unexpected --install-fonts --webdriver-arg=--verbose --test-types reftest testharness --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-tbpl - --log-tbpl-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt edge_webdriver + - script: python ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --install-fonts --webdriver-arg=--verbose --test-types reftest testharness --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-tbpl - --log-tbpl-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt edge_webdriver displayName: 'Run tests' - task: PublishBuildArtifacts@1 displayName: 'Publish results' diff --git a/tests/wpt/web-platform-tests/animation-worklet/stateful-animator.https.html b/tests/wpt/web-platform-tests/animation-worklet/stateful-animator.https.html new file mode 100644 index 00000000000..c4b6301fd9d --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-worklet/stateful-animator.https.html @@ -0,0 +1,162 @@ +<!DOCTYPE html> +<title>Basic use of stateful animator</title> +<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/"> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="common.js"></script> + +<div id="target"></div> + +<script id="stateful_animator_basic" type="text/worklet"> + registerAnimator("stateful_animator_basic", class { + constructor(options, state = { test_local_time: 0 }) { + this.test_local_time = state.test_local_time; + } + animate(currentTime, effect) { + effect.localTime = this.test_local_time++; + } + state() { + return { + test_local_time: this.test_local_time + }; + } + }); +</script> + +<script id="stateless_animator_basic" type="text/worklet"> + registerAnimator("stateless_animator_basic", class { + constructor(options, state = { test_local_time: 0 }) { + this.test_local_time = state.test_local_time; + } + animate(currentTime, effect) { + effect.localTime = this.test_local_time++; + } + // Unless a valid state function is provided, the animator is considered + // stateless. e.g. animator with incorrect state function name. + State() { + return { + test_local_time: this.test_local_time + }; + } + }); +</script> + +<script id="state_function_returns_empty" type="text/worklet"> + registerAnimator("state_function_returns_empty", class { + constructor(options, state = { test_local_time: 0 }) { + this.test_local_time = state.test_local_time; + } + animate(currentTime, effect) { + effect.localTime = this.test_local_time++; + } + state() {} + }); +</script> + +<script id="state_function_returns_not_serializable" type="text/worklet"> + registerAnimator("state_function_returns_not_serializable", class { + constructor(options) { + this.test_local_time = 0; + } + animate(currentTime, effect) { + effect.localTime = this.test_local_time++; + } + state() { + return new Error('foo'); + } + }); +</script> + +<script> + async function localTimeDoesNotUpdate(animation) { + // The local time stops increasing after the animator instance being dropped. + // e.g. 0, 1, 2, .., n, n, n, n, .. where n is the frame that the global + // scope switches at. + let last_local_time = animation.effect.getComputedTiming().localTime; + let frame_count = 0; + const FRAMES_WITHOUT_CHANGE = 10; + do { + await new Promise(window.requestAnimationFrame); + let current_local_time = animation.effect.getComputedTiming().localTime; + if (last_local_time == current_local_time) + ++frame_count; + else + frame_count = 0; + last_local_time = current_local_time; + } while (frame_count < FRAMES_WITHOUT_CHANGE); + } + + async function localTimeResetsToZero(animation) { + // The local time is reset upon global scope switching. e.g. + // 0, 1, 2, .., 0, 1, 2, .., 0, 1, 2, .., 0, 1, 2, ... + let reset_count = 0; + const LOCAL_TIME_RESET_CHECK = 3; + do { + await new Promise(window.requestAnimationFrame); + if (0 == animation.effect.getComputedTiming().localTime) + ++reset_count; + } while (reset_count < LOCAL_TIME_RESET_CHECK); + } + + promise_test(async t => { + await runInAnimationWorklet(document.getElementById('stateful_animator_basic').textContent); + const target = document.getElementById('target'); + const effect = new KeyframeEffect(target, [{ opacity: 0 }], { duration: 1000 }); + const animation = new WorkletAnimation('stateful_animator_basic', effect); + animation.play(); + + // effect.localTime should be correctly increased upon global scope + // switches for stateful animators. + const EXPECTED_FRAMES_TO_A_SCOPE_SWITCH = 15; + await waitForAnimationFrameWithCondition(_ => { + return animation.effect.getComputedTiming().localTime == + EXPECTED_FRAMES_TO_A_SCOPE_SWITCH; + }); + + animation.cancel(); + }, "Stateful animator can use its state to update the animation. Pass if test does not timeout"); + + promise_test(async t => { + await runInAnimationWorklet(document.getElementById('stateless_animator_basic').textContent); + const target = document.getElementById('target'); + const effect = new KeyframeEffect(target, [{ opacity: 0 }], { duration: 1000 }); + const animation = new WorkletAnimation('stateless_animator_basic', effect); + animation.play(); + + // The local time should be reset to 0 upon global scope switching for + // stateless animators. + await localTimeResetsToZero(animation); + + animation.cancel(); + }, "Stateless animator gets reecreated with 'undefined' state."); + + promise_test(async t => { + await runInAnimationWorklet(document.getElementById('state_function_returns_empty').textContent); + const target = document.getElementById('target'); + const effect = new KeyframeEffect(target, [{ opacity: 0 }], { duration: 1000 }); + const animation = new WorkletAnimation('state_function_returns_empty', effect); + animation.play(); + + // The local time should be reset to 0 upon global scope switching for + // stateless animators. + await localTimeResetsToZero(animation); + + animation.cancel(); + }, "Stateful animator gets recreated with 'undefined' state if state function returns undefined."); + + promise_test(async t => { + await runInAnimationWorklet(document.getElementById('state_function_returns_not_serializable').textContent); + const target = document.getElementById('target'); + const effect = new KeyframeEffect(target, [{ opacity: 0 }], { duration: 1000, iteration: Infinity }); + const animation = new WorkletAnimation('state_function_returns_not_serializable', effect); + animation.play(); + + // The local time of an animation increases until the registered animator + // gets removed. + await localTimeDoesNotUpdate(animation); + + animation.cancel(); + }, "Stateful Animator instance gets dropped (does not get migrated) if state function is not serializable."); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-multicol-as-flex-item.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-multicol-as-flex-item.html new file mode 100644 index 00000000000..19aa12262f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-multicol-as-flex-item.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-contain/#containment-size"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=863454"> +<style> + #flex { + display: flex; + } + + #multicol { + columns: 3; + min-width: 0; + column-gap: 50px; + contain:size; + height:100px; + background:green; + } +</style> +<p>There should be a green square below.</p> +<div id="flex"> + <div id="multicol" data-expected-width="100" data-expected-height="100"> + <div style="width:1000px; height:1px;"></div> + </div> +</div> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script> + checkLayout("#flex"); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-001-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-001-manual.html new file mode 100644 index 00000000000..76a8f540149 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-001-manual.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline</title> +<meta name="assert" content="text-decoration-line:underline; there is a line at or under the alphabetic baseline"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +} +</style> +</head> +<body> +<p class="instructions">Test passes if there is a line at or under the alphabetic baseline.</p> +<div id="htmlsrc"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-002-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-002-manual.html new file mode 100644 index 00000000000..0e41fd1fcfe --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-002-manual.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline</title> +<meta name="assert" content="text-decoration-line:overline; there is an overline"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is an overline.</p> +<div id="htmlsrc"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-003-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-003-manual.html new file mode 100644 index 00000000000..2e94e8e946b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-003-manual.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through</title> +<meta name="assert" content="text-decoration-line:line-through; there is a solid line through the centre of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a solid line through the centre of the characters.</p> +<div id="htmlsrc"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-004-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-004-manual.html new file mode 100644 index 00000000000..5c6da02d1e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-004-manual.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline overline</title> +<meta name="assert" content="text-decoration-line:underline overline; there is an overline and an underline"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is an overline and an underline.</p> +<div id="htmlsrc"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040-manual.html new file mode 100644 index 00000000000..c93f4b99084 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040-manual.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline tbrl hor scripts</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: vertical-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters for all lines.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040a-manual.html new file mode 100644 index 00000000000..5020a1fd118 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-040a-manual.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline tbrl mixed</title> +<meta name="assert" content="text-decoration-line:underline; there is an unbroken line to the LEFT of the characters for each lines"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 3.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div p { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is an unbroken line to the LEFT of the characters for all lines.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="zh">引发<span lang="en">quick brown fox</span>网络<span lang="ar">جهانی سازیم</span>的全<span lang="my">အပြည်ပြည်</span>部潜<span lang="th">ปิ้งอยู่ในถ้ำ</span>能引<span lang="bo">འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་</span>發網<span lang="hi">विश्वव्यापी बना रहें हैं絡</span>的全<span lang="ja">部潛能</span></p> +</div> +</div> +</body> +</html> + diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-041-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-041-manual.html new file mode 100644 index 00000000000..7c7c920e990 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-041-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline tbrl (zh)</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the LEFT of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="zh"><span>引发网络的全部潜能引發網絡的全部潛能</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-044-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-044-manual.html new file mode 100644 index 00000000000..2d9048d3d1d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-044-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline tbrl hor scripts</title> +<meta name="assert" content="text-decoration-line-line:overline; there is a line to the RIGHT of the characters for horizontal scripts set vertically using writing-mode: vertical-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters for all lines.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-045-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-045-manual.html new file mode 100644 index 00000000000..b9d68838756 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-045-manual.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline tbrl (zh)</title> +<meta name="assert" content="text-decoration-line-line:overline; there is a line to the RIGHT of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> +<div> +<p lang="zh"><span>引发网络的全部潜能引發網絡的全部潛能</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-046a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-046a-manual.html new file mode 100644 index 00000000000..67f2b89ea23 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-046a-manual.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline tbrl mixed</title> +<meta name="assert" content="text-decoration-line-line:overline; there is an unbroken line to the RIGHT of the characters for all lines"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 3.5; + } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div p { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is an unbroken line to the RIGHT of the characters for each line.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="zh">引发<span lang="en">quick brown fox</span>网络<span lang="ar">جهانی سازیم</span>的全<span lang="my">အပြည်ပြည်</span>部潜<span lang="th">ปิ้งอยู่ในถ้ำ</span>能引<span lang="bo">འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་</span>發網<span lang="hi">विश्वव्यापी बना रहें हैं絡</span>的全<span lang="ja">部潛能</span></p> +</div> +</div> +</body> +</html> + diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048-manual.html new file mode 100644 index 00000000000..f3a6e137e2d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048-manual.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through vertical-rl</title> +<meta name="assert" content="text-decoration-line:line-through; there is a solid vertical line through the centre of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a solid vertical line through the centre of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="zh"><span>引发网络的全部潜能引發網絡的全部潛能</span></p> +<p lang="ja"><span>可能性を最大限に導き出すために</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048a-manual.html new file mode 100644 index 00000000000..9bd48defaf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-048a-manual.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through vertical-rl hor scripts</title> +<meta name="assert" content="text-decoration-line:line-through; there is a solid vertical line through the centre of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a solid vertical line through the centre of the characters.<br/><span class="hint">Skip the test if the text the text fails for the Chinese line, or is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> + +<div> +<p lang="zh"><span>引发网络的全部潜能引發網絡的全部潛能</span></p> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-049-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-049-manual.html new file mode 100644 index 00000000000..31f9aa76218 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-049-manual.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line vertical-rl over+under</title> +<meta name="assert" content="text-decoration-line:underline overline; there is a vertical line on both sides of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a vertical line on both sides of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-rl"> +<div> +<p lang="zh"><span>引发网络的全部潜能引發網絡的全部潛能</span></p> +<p lang="ja"><span>可能性を最大限に導き出すために</span></p> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-082-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-082-manual.html new file mode 100644 index 00000000000..c4425f90729 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-082-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline overline tblr</title> +<meta name="assert" content="text-decoration-line:underline overline; there is a line on both sides of the characters"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line on both sides of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-lr"> +<div> +<p lang="mn"><span>ᠣᠯᠠᠨ ᠦᠨᠳᠦᠰᠦᠲᠡᠨ ᠦ ᠪᠣᠯᠭᠠᠬᠤ ᠦᠢᠯᠡ ᠠᠵᠢᠯᠯᠠᠭᠠ</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-085-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-085-manual.html new file mode 100644 index 00000000000..88a5fc02a04 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-085-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through tblr</title> +<meta name="assert" content="text-decoration-line:line-through; there is a solid vertical line through the centre of the characters."> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +:lang(mn) { font-family: "Mongolian Baiti", "Noto sans Mongolian", serif; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a solid vertical line through the centre of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:vertical-lr"> +<div> +<p lang="mn"><span>ᠣᠯᠠᠨ ᠦᠨᠳᠦᠰᠦᠲᠡᠨ ᠦ ᠪᠣᠯᠭᠠᠬᠤ ᠦᠢᠯᠡ ᠠᠵᠢᠯᠯᠠᠭᠠ</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090-manual.html new file mode 100644 index 00000000000..f4484c0ee28 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline sideways-rl</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090a-manual.html new file mode 100644 index 00000000000..e98688521ff --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-090a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline sideways-rl non-Latin</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English text, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091-manual.html new file mode 100644 index 00000000000..94405c0362b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline sideways-rl</title> +<meta name="assert" content="text-decoration-line:overline; there is a line to the RIGHT of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091a-manual.html new file mode 100644 index 00000000000..e1ba036c257 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-091a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline sideways-rl non-Latin</title> +<meta name="assert" content="text-decoration-line:overline; there is a line to the RIGHT of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English sentence, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092-manual.html new file mode 100644 index 00000000000..4dffcf6a00e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through sideways-rl</title> +<meta name="assert" content="text-decoration-line:line-through; there is a line through the CENTRE of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line through the CENTRE of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092a-manual.html new file mode 100644 index 00000000000..7f803a35f16 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-092a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through sideways-rl non-Latin</title> +<meta name="assert" content="text-decoration-line:line-through; there is a line through the CENTRE of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line through the CENTRE of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English sentence, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-rl"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095-manual.html new file mode 100644 index 00000000000..62ca5d1a19e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline sideways-lr</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: sideways-rl"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095a-manual.html new file mode 100644 index 00000000000..f5bab19374f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-095a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line underline sideways-lr non-Latin</title> +<meta name="assert" content="text-decoration-line:underline; there is a line to the RIGHT of the characters for horizontal scripts set vertically using writing-mode: sideways-lr"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:underline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the RIGHT of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English sentence, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096-manual.html new file mode 100644 index 00000000000..01eaf87875b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline sideways-lr</title> +<meta name="assert" content="text-decoration-line:overline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: sideways-lr"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096a-manual.html new file mode 100644 index 00000000000..233006c904e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-096a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line overline sideways-lr non-Latin</title> +<meta name="assert" content="text-decoration-line:overline; there is a line to the LEFT of the characters for horizontal scripts set vertically using writing-mode: sideways-lr"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:overline; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line to the LEFT of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English sentence, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097-manual.html new file mode 100644 index 00000000000..9502b2367ac --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097-manual.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through sideways-lr</title> +<meta name="assert" content="text-decoration-line:line-through; there is a line through the CENTRE of the characters for horizontal scripts set vertically using writing-mode: sideways-lr"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line through the CENTRE of the characters.<br/><span class="hint">Skip the test if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097a-manual.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097a-manual.html new file mode 100644 index 00000000000..e037e15d73c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-line-097a-manual.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>text-decoration-line line-through sideways-lr non-Latin</title> +<meta name="assert" content="text-decoration-line:line-through; there is a line through the CENTRE of the characters for horizontal scripts set vertically using writing-mode: sideways-lr"> +<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> +<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#line-decoration"> +<!-- cosmetic styling --> +<style> +#htmlsrc { margin: 2em; } +#htmlsrc p { + font-size: 28px; + border-radius: 5px; + line-height: 1.5; + } +.hint { color: brown; font-family: sans-serif; font-size: 90%; } +.hint:before { content: '❗ '; } +</style> +<!-- the test --> +<style> +div span { +text-decoration-line:line-through; +}</style> +</head> +<body> +<p class="instructions">Test passes if there is a line through the CENTRE of the characters for all lines.<br/><span class="hint">Skip the test if it fails for the English sentence, or if the text is not vertical.</span></p> +<div id="htmlsrc" style="writing-mode:sideways-lr"> + +<div> +<p lang="en"><span>The quick brown fox jumps over the lazy dog.</span></p> +<p lang="ar"><span>وب جهانی را بهدرستی جهانی سازیم!</span></p> +<p lang="my"><span>အပြည်ပြည်ဆိုင်ရာလှုပ်ရှားမှု၊</span></p> +<p lang="th"><span>กูกินกุ้งปิ้งอยู่ในถ้ำ กูกินกุ้งปิ้งอยู่ในถ้ำ</span></p> +<p lang="bo"><span>འཛམ་གླིང་ཡོངས་འབྲེལ་འདི་ ངོ་མ་འབད་རང་ འཛམ་གླིང་ཡོངས་ལུ་ཁྱབ་ཚུགསཔ་བཟོ་བ།</span></p> +<p lang="hi"><span>वर्ल्ड वाईड वेब को सचमुच विश्वव्यापी बना रहें हैं !</span></p--> +</div> </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-013.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-013.html new file mode 100644 index 00000000000..448a41d88f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-013.html @@ -0,0 +1,60 @@ +<!doctype html> +<html> +<meta charset="utf-8"> +<title>CSS Text — line breaking of emoji sequences that should form single clusters</title> +<meta name=assert content="A UA must use the extended grapheme cluster (not legacy grapheme cluster), as defined in [UAX29], as the basis for its typographic character unit."> +<link rel=help href="https://www.w3.org/TR/css-text-3/#characters"> +<link rel=match href="reference/line-breaking-013-ref.html"> +<link rel=author title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<style> +div { + line-height: 1em; + font-size: 30px; +} +.container { + position: relative; + margin: .5em; +} +.ref { + background-color: white; + padding: .25em; +} +.test { + color: transparent; + background-color: red; + position: absolute; + width: .5em; + left: 0; + top: 0; + padding: .25em; + z-index: -1; +} +</style> +<body> + <p>Each emoji should appear on a single line with no red background.</p> + <div class=container> + <div class=ref>👨‍💻</div><!-- man technologist --> + <div class=test>👨‍💻</div> + </div> + <div class=container> + <div class=ref>👩‍👧‍👦</div><!-- family with mother, son and daughter --> + <div class=test>👩‍👧‍👦</div> + </div> + <div class=container> + <div class=ref>🤹‍♀️</div><!-- woman juggling --> + <div class=test>🤹‍♀️</div> + </div> + <div class=container> + <div class=ref>⛹🏿‍♀️</div><!-- woman basketball player (fitzpatrick type 6) --> + <div class=test>⛹🏿‍♀️</div> + </div> + <div class=container> + <div class=ref>🏳️‍🌈</div><!-- rainbow flag --> + <div class=test>🏳️‍🌈</div> + </div> + <div class=container> + <div class=ref>🏴󠁧󠁢󠁷󠁬󠁳󠁿</div><!-- flag of Wales --> + <div class=test>🏴󠁧󠁢󠁷󠁬󠁳󠁿</div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-014.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-014.html new file mode 100644 index 00000000000..ea9956362be --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-014.html @@ -0,0 +1,61 @@ +<!doctype html> +<html> +<meta charset="utf-8"> +<title>CSS Text — line breaking (with word-break:break-all) of emoji sequences that should form single clusters</title> +<meta name=assert content="A UA must use the extended grapheme cluster (not legacy grapheme cluster), as defined in [UAX29], as the basis for its typographic character unit."> +<link rel=help href="https://www.w3.org/TR/css-text-3/#characters"> +<link rel=match href="reference/line-breaking-013-ref.html"> +<link rel=author title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<style> +div { + line-height: 1em; + font-size: 30px; +} +.container { + position: relative; + margin: .5em; +} +.ref { + background-color: white; + padding: .25em; +} +.test { + word-break: break-all; + color: transparent; + background-color: red; + position: absolute; + width: .5em; + left: 0; + top: 0; + padding: .25em; + z-index: -1; +} +</style> +<body> + <p>Each emoji should appear on a single line with no red background.</p> + <div class=container> + <div class=ref>👨‍💻</div><!-- man technologist --> + <div class=test>👨‍💻</div> + </div> + <div class=container> + <div class=ref>👩‍👧‍👦</div><!-- family with mother, son and daughter --> + <div class=test>👩‍👧‍👦</div> + </div> + <div class=container> + <div class=ref>🤹‍♀️</div><!-- woman juggling --> + <div class=test>🤹‍♀️</div> + </div> + <div class=container> + <div class=ref>⛹🏿‍♀️</div><!-- woman basketball player (fitzpatrick type 6) --> + <div class=test>⛹🏿‍♀️</div> + </div> + <div class=container> + <div class=ref>🏳️‍🌈</div><!-- rainbow flag --> + <div class=test>🏳️‍🌈</div> + </div> + <div class=container> + <div class=ref>🏴󠁧󠁢󠁷󠁬󠁳󠁿</div><!-- flag of Wales --> + <div class=test>🏴󠁧󠁢󠁷󠁬󠁳󠁿</div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-013-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-013-ref.html new file mode 100644 index 00000000000..816015adeab --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-013-ref.html @@ -0,0 +1,41 @@ +<!doctype html> +<html> +<meta charset="utf-8"> +<title>CSS Text — reference file for emoji sequence line-breaking test</title> +<link rel=author title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<style> +div { + line-height: 1em; + font-size: 30px; +} +.container { + position: relative; + margin: .5em; +} +.ref { + background-color: white; + padding: .25em; +} +</style> +<body> + <p>Each emoji should appear on a single line with no red background.</p> + <div class=container> + <div class=ref>👨‍💻</div><!-- man technologist --> + </div> + <div class=container> + <div class=ref>👩‍👧‍👦</div><!-- family with mother, son and daughter --> + </div> + <div class=container> + <div class=ref>🤹‍♀️</div><!-- woman juggling --> + </div> + <div class=container> + <div class=ref>⛹🏿‍♀️</div><!-- woman basketball player (fitzpatrick type 6) --> + </div> + <div class=container> + <div class=ref>🏳️‍🌈</div><!-- rainbow flag --> + </div> + <div class=container> + <div class=ref>🏴󠁧󠁢󠁷󠁬󠁳󠁿</div><!-- flag of Wales --> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html index 72e63c4d1e9..361006a7240 100644 --- a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html +++ b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html @@ -165,19 +165,30 @@ promise_test(async () => { const elem = document.createElement(localName); document.body.appendChild(elem); elem.disabled = true; - const eventPromises = [ - "animationstart", - "animationiteration", - "animationend", - ].map(eventType => { - return new Promise(r => { - elem.addEventListener(eventType, r, { once: true }); + const animationStartPromise = new Promise(r => { + elem.addEventListener("animationstart", () => { + // Seek to the second iteration to trigger the animationiteration event + elem.style.animationDelay = "-100s" + r(); }); }); - elem.style.animation = "fade .1s 2"; + const animationIterationPromise = new Promise(r => { + elem.addEventListener("animationiteration", ()=>{ + elem.style.animationDelay = "-200s" + r(); + }); + }); + const animationEndPromise = new Promise(r => { + elem.addEventListener("animationend", r); + }); + elem.style.animation = "fade 100s 2"; elem.classList.add("animate"); // All the events fire... - await Promise.all(eventPromises); + await Promise.all([ + animationStartPromise, + animationIterationPromise, + animationEndPromise, + ]); elem.remove(); } }, "CSS Animation animationstart, animationiteration, animationend fire on disabled form elements"); diff --git a/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html b/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html index 1a8bf3de915..8a0d7353bc6 100644 --- a/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html +++ b/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html @@ -98,7 +98,7 @@ async_test(function() { results.push(3) }), true) b.dispatchEvent(new Event("x")) - assert_array_equals(results, [1, 2, 3]) + assert_array_equals(results, [1, 3, 2]) this.done() -}, "Event listeners should be called in order of addition") +}, "Capturing event listeners should be called before non-capturing ones") </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html index af51354035c..e76f5f6ea70 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html @@ -69,13 +69,39 @@ el.selectionStart = 3; el.selectionEnd = 5; - el.textContent = "abcdef\r\nwhatevs"; + el.firstChild.data = "abcdef\r\nwhatevs"; assert_equals(el.selectionStart, 3); assert_equals(el.selectionEnd, 5); }, "Setting the same value (with different newlines) in a textarea should NOT update selection{Start,End}"); test(function() { var el = document.createElement("textarea"); + el.textContent = "foobar"; + el.selectionStart = 3; + el.selectionEnd = 5; + el.firstChild.remove(); + assert_equals(el.selectionStart, 0, 'selectionStart after node removal'); + assert_equals(el.selectionEnd, 0, 'selectionEnd after node removal'); + el.appendChild(document.createTextNode("foobar")); + assert_equals(el.selectionStart, 0, 'selectionStart after appendChild'); + assert_equals(el.selectionEnd, 0, 'selectionEnd after appendChild'); + + el.selectionStart = 3; + el.selectionEnd = 5; + el.textContent = "foobar2"; // This removes the child node first. + assert_equals(el.selectionStart, 0, 'selectionStart after textContent setter'); + assert_equals(el.selectionEnd, 0, 'selectionEnd after textContent setter'); + + el.selectionStart = 3; + el.selectionEnd = 5; + el.defaultValue = "foobar"; // Same as textContent setter. + assert_equals(el.selectionStart, 0, 'selectionStart after defaultValue setter'); + assert_equals(el.selectionEnd, 0, 'selectionEnd after defaultValue setter'); + + }, "Removing child nodes in non-dirty textarea should make selection{Start,End} 0"); + + test(function() { + var el = document.createElement("textarea"); el.defaultValue = "123"; assert_equals(el.value.length, 3); assert_equals(el.selectionStart, 3); @@ -105,8 +131,12 @@ assert_equals(el.selectionEnd, 9); el.type = "color"; el.type = "text"; - assert_equals(el.selectionStart, 7); - assert_equals(el.selectionEnd, 7); + // https://html.spec.whatwg.org/C/input.html#the-input-element:attr-input-type-15 + // 9. If previouslySelectable is false and nowSelectable is true, set the + // element's text entry cursor position to the beginning of the text + // control, ... + assert_equals(el.selectionStart, 0); + assert_equals(el.selectionEnd, 0); }, "Shortening value by turning the input type into 'color' and back to 'text' should correct selection{Start,End}"); test(function() { diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl index 202dc6b09f7..4c11b695f49 100644 --- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl +++ b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl @@ -11,13 +11,19 @@ enum WakeLockType { "screen", "system" }; [Constructor(WakeLockType type), SecureContext, Exposed=(DedicatedWorker,Window)] interface WakeLock : EventTarget { - [Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type); readonly attribute WakeLockType type; readonly attribute boolean active; attribute EventHandler onactivechange; Promise<void> request(optional WakeLockRequestOptions options); + static sequence<WakeLock> query(optional WakeLockQueryFilter filter); + [Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type); }; dictionary WakeLockRequestOptions { AbortSignal? signal; }; + +dictionary WakeLockQueryFilter { + WakeLockType? type; + boolean? active; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl index 0992b341e1f..d9d20191ad8 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl @@ -102,7 +102,10 @@ dictionary RTCOutboundRtpStreamStats : RTCSentRtpStreamStats { DOMString senderId; DOMString remoteId; DOMHighResTimeStamp lastPacketSentTimestamp; + unsigned long long retransmittedPacketsSent; + unsigned long long retransmittedBytesSent; double targetBitrate; + unsigned long long totalEncodedBytesTarget; unsigned long framesEncoded; unsigned long long qpSum; double totalEncodeTime; diff --git a/tests/wpt/web-platform-tests/interfaces/webxr.idl b/tests/wpt/web-platform-tests/interfaces/webxr.idl index 8a3264073e8..4c74fdac384 100644 --- a/tests/wpt/web-platform-tests/interfaces/webxr.idl +++ b/tests/wpt/web-platform-tests/interfaces/webxr.idl @@ -188,6 +188,13 @@ interface XRInputSource { readonly attribute XRTargetRayMode targetRayMode; readonly attribute XRSpace targetRaySpace; readonly attribute XRSpace? gripSpace; + readonly attribute Gamepad? gamepad; +}; + +enum GamepadMappingType { + "", // Defined in the Gamepad API + "standard", // Defined in the Gamepad API + "xr-standard", }; [SecureContext, Exposed=Window] interface XRLayer {}; @@ -254,11 +261,13 @@ dictionary XRSessionEventInit : EventInit { interface XRInputSourceEvent : Event { readonly attribute XRFrame frame; readonly attribute XRInputSource inputSource; + readonly attribute long? buttonIndex; }; dictionary XRInputSourceEventInit : EventInit { required XRFrame frame; required XRInputSource inputSource; + long? buttonIndex = null; }; [SecureContext, Exposed=Window, Constructor(DOMString type, XRReferenceSpaceEventInit eventInitDict)] diff --git a/tests/wpt/web-platform-tests/url/resources/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index 26b8ea2e0bc..bf4e2a7833d 100644 --- a/tests/wpt/web-platform-tests/url/resources/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json @@ -4633,6 +4633,22 @@ "search": "", "hash": "" }, + "# unknown scheme with non-URL characters in the path", + { + "input": "wow:\uFFFF", + "base": "about:blank", + "href": "wow:%EF%BF%BF", + "origin": "null", + "protocol": "wow:", + "username": "", + "password": "", + "host": "", + "hostname": "", + "port": "", + "pathname": "%EF%BF%BF", + "search": "", + "hash": "" + }, "# Hosts and percent-encoding", { "input": "ftp://example.com%80/", diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html index f7bf8bd3e3b..336b100de05 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html @@ -199,10 +199,133 @@ pc.onnegotiationneeded = e => fired = true; pc.createDataChannel('test'); const answer = await generateAnswer(offer); - await pc.setRemoteDescription(answer); + pc.setRemoteDescription(answer); + assert_false(fired, "negotiationneeded should not fire until the next iteration of the event loop after returning to stable"); + await new Promise(resolve => pc.onnegotiationneeded = resolve); + }, 'negotiationneeded event should fire only after signaling state go back to stable after setRemoteDescription'); + + promise_test(async t => { + const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); + + const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); + + callee.addTransceiver('audio'); + + const offer = await caller.createOffer(); + let fired = false; + callee.onnegotiationneeded = e => fired = true; + await callee.setRemoteDescription(offer); + callee.createDataChannel('test'); + + const answer = await callee.createAnswer(offer); + callee.setLocalDescription(answer); assert_false(fired, "negotiationneeded should not fire until the next iteration of the event loop after returning to stable"); + + await new Promise(resolve => callee.onnegotiationneeded = resolve); + }, 'negotiationneeded event should fire only after signaling state go back to stable after setLocalDescription'); + + /* + 5.1. RTCPeerConnection Interface Extensions + + addTrack + 10. Update the negotiation-needed flag for connection. + */ + promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + + const stream = await getNoiseStream({ audio: true }); + t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + const [track] = stream.getTracks(); + pc.addTrack(track, stream); + + await new Promise(resolve => pc.onnegotiationneeded = resolve); + }, 'addTrack should cause negotiationneeded to fire'); + + /* + 5.1. RTCPeerConnection Interface Extensions + + removeTrack + 12. Update the negotiation-needed flag for connection. + */ + async_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + + const stream = await getNoiseStream({ audio: true }); + t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + const [track] = stream.getTracks(); + const sender = pc.addTrack(track, stream); + pc.onnegotiationneeded = t.step_func(async () => { + pc.onnegotiationneeded = t.step_func(async () => { + assert_unreached('onnegotiationneeded misfired'); + }); + const offer = await pc.createOffer(); + await pc.setLocalDescription(offer); + + const answer = await generateAnswer(offer); + await pc.setRemoteDescription(answer); + + pc.removeTrack(sender); + await new Promise(resolve => pc.onnegotiationneeded = resolve) + t.done(); + }); + }, 'removeTrack should cause negotiationneeded to fire on the caller'); + + /* + 5.1. RTCPeerConnection Interface Extensions + + removeTrack + 12. Update the negotiation-needed flag for connection. + */ + async_test(async t => { + const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); + caller.addTransceiver('audio', {direction:'recvonly'}); + const offer = await caller.createOffer(); + + const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); + + const stream = await getNoiseStream({ audio: true }); + t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + const [track] = stream.getTracks(); + const sender = callee.addTrack(track, stream); + + callee.onnegotiationneeded = t.step_func(async () => { + callee.onnegotiationneeded = t.step_func(async () => { + assert_unreached('onnegotiationneeded misfired'); + }); + await callee.setRemoteDescription(offer); + const answer = await callee.createAnswer(offer); + callee.setLocalDescription(answer); + + callee.removeTrack(sender); + await new Promise(resolve => callee.onnegotiationneeded = resolve) + t.done(); + }); + }, 'removeTrack should cause negotiationneeded to fire on the callee'); + + /* + 5.4. RTCRtpTransceiver Interface + + setDirection + 7. Update the negotiation-needed flag for connection. + */ + promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + + const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'}); + const offer = await pc.createOffer(); + await pc.setLocalDescription(offer); + const answer = await generateAnswer(offer); + await pc.setRemoteDescription(answer); + transceiver.direction = 'recvonly'; await new Promise(resolve => pc.onnegotiationneeded = resolve); - }, 'negotiationneeded event should fire only after signaling state go back to stable'); + }, 'Updating the direction of the transceiver should cause negotiationneeded to fire'); /* TODO @@ -243,19 +366,8 @@ When the RTCPeerConnection() constructor is invoked 7. Let connection have a [[needNegotiation]] internal slot, initialized to false. - 5.1. RTCPeerConnection Interface Extensions - - addTrack - 10. Update the negotiation-needed flag for connection. - - removeTrack - 12. Update the negotiation-needed flag for connection. - 5.4. RTCRtpTransceiver Interface - setDirection - 7. Update the negotiation-needed flag for connection. - stop 11. Update the negotiation-needed flag for connection. |