mirror of
https://github.com/servo/servo.git
synced 2025-06-26 01:54:33 +01:00
Update web-platform-tests to revision 4688078c2cc6e81651b220f3c1944d956f63046b
This commit is contained in:
parent
e7b65c42c4
commit
ce9f8f32f1
53 changed files with 1900 additions and 88 deletions
|
@ -1,5 +1,4 @@
|
||||||
[url-in-tags-revoke.window.html]
|
[url-in-tags-revoke.window.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||||
expected: FAIL
|
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.]
|
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Fetching a blob URL immediately before revoking it works in <script> tags.]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
|
|
|
@ -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-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": [
|
||||||
[
|
[
|
||||||
"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": [
|
||||||
[
|
[
|
||||||
"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": [
|
"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": [
|
||||||
[
|
[
|
||||||
"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": [
|
||||||
[
|
[
|
||||||
"css/css-contain/inheritance.html",
|
"css/css-contain/inheritance.html",
|
||||||
|
@ -474107,7 +474310,7 @@
|
||||||
},
|
},
|
||||||
"paths": {
|
"paths": {
|
||||||
".azure-pipelines.yml": [
|
".azure-pipelines.yml": [
|
||||||
"b0a60cf98816141332d91ec1027c8a39bd2a6be7",
|
"aff69297b39caef1c35fd77aac4ef941da5bdbb0",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
".codecov.yml": [
|
".codecov.yml": [
|
||||||
|
@ -482122,6 +482325,10 @@
|
||||||
"761e66e7d76f4aaf64c7744d0d04a06e3ba16cd1",
|
"761e66e7d76f4aaf64c7744d0d04a06e3ba16cd1",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"animation-worklet/stateful-animator.https.html": [
|
||||||
|
"c4b6301fd9dc2e5cf021cb79ddb05032679010f9",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"animation-worklet/worklet-animation-cancel-ref.html": [
|
"animation-worklet/worklet-animation-cancel-ref.html": [
|
||||||
"d44927374703ef2b38d3ed0c9570609b62baec65",
|
"d44927374703ef2b38d3ed0c9570609b62baec65",
|
||||||
"support"
|
"support"
|
||||||
|
@ -574786,6 +574993,10 @@
|
||||||
"81465c02d6114aa4a27637b2e77b3d62161c0864",
|
"81465c02d6114aa4a27637b2e77b3d62161c0864",
|
||||||
"reftest"
|
"reftest"
|
||||||
],
|
],
|
||||||
|
"css/css-contain/contain-size-multicol-as-flex-item.html": [
|
||||||
|
"19aa12262f9a7dc35f3682b1f7baa3c12949a906",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"css/css-contain/contain-size-replaced-001.html": [
|
"css/css-contain/contain-size-replaced-001.html": [
|
||||||
"b0dba02f1cd56f4fccc772cfb948dbabb1d600e2",
|
"b0dba02f1cd56f4fccc772cfb948dbabb1d600e2",
|
||||||
"reftest"
|
"reftest"
|
||||||
|
@ -602374,6 +602585,22 @@
|
||||||
"fd5bc5da3a800a7f7e97211e8cb2438bfdc0c462",
|
"fd5bc5da3a800a7f7e97211e8cb2438bfdc0c462",
|
||||||
"reftest"
|
"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": [
|
"css/css-text-decor/text-decoration-line-010.xht": [
|
||||||
"f4b16e32aa185d204c1793f9ca1b0eda502c60fd",
|
"f4b16e32aa185d204c1793f9ca1b0eda502c60fd",
|
||||||
"reftest"
|
"reftest"
|
||||||
|
@ -602394,6 +602621,98 @@
|
||||||
"7d5f0570b324b81761a1b5dfdc24e3bcc5b66869",
|
"7d5f0570b324b81761a1b5dfdc24e3bcc5b66869",
|
||||||
"manual"
|
"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": [
|
"css/css-text-decor/text-decoration-line-recalc.html": [
|
||||||
"321aea9f3d93f31685878a14bfc67f9c3e9cf63e",
|
"321aea9f3d93f31685878a14bfc67f9c3e9cf63e",
|
||||||
"reftest"
|
"reftest"
|
||||||
|
@ -605002,6 +605321,14 @@
|
||||||
"08f956c9166df4770cdd1d2d60aac9c8acd675d2",
|
"08f956c9166df4770cdd1d2d60aac9c8acd675d2",
|
||||||
"reftest"
|
"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": [
|
"css/css-text/line-breaking/line-breaking-ic-001.html": [
|
||||||
"6cfe6f86a452c19eae31a076710f02dfc8c4ec4e",
|
"6cfe6f86a452c19eae31a076710f02dfc8c4ec4e",
|
||||||
"reftest"
|
"reftest"
|
||||||
|
@ -605022,6 +605349,10 @@
|
||||||
"463dc2287ea251750e0c542873011c9c8707dd30",
|
"463dc2287ea251750e0c542873011c9c8707dd30",
|
||||||
"support"
|
"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": [
|
"css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [
|
||||||
"421002818f6d5f9837c5de3967a1c3d7b441244f",
|
"421002818f6d5f9837c5de3967a1c3d7b441244f",
|
||||||
"support"
|
"support"
|
||||||
|
@ -640487,7 +640818,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"dom/events/Event-dispatch-on-disabled-elements.html": [
|
"dom/events/Event-dispatch-on-disabled-elements.html": [
|
||||||
"72e63c4d1e97f1113dd7db357921fd1b0ab9372b",
|
"361006a7240496e9be747faca5056fe2a62a2cff",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"dom/events/Event-dispatch-order.html": [
|
"dom/events/Event-dispatch-order.html": [
|
||||||
|
@ -640611,7 +640942,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"dom/events/EventTarget-dispatchEvent.html": [
|
"dom/events/EventTarget-dispatchEvent.html": [
|
||||||
"1a8bf3de915d5cb8c608ecdef69511d4dbffe113",
|
"8a0d7353bc62ba8330069fef4c71a0e33321b0aa",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"dom/events/EventTarget-removeEventListener.html": [
|
"dom/events/EventTarget-removeEventListener.html": [
|
||||||
|
@ -662211,7 +662542,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"html/semantics/forms/textfieldselection/selection-start-end-extra.html": [
|
"html/semantics/forms/textfieldselection/selection-start-end-extra.html": [
|
||||||
"af51354035c5cae33d35cbff03e2eed5d5359f85",
|
"e76f5f6ea70c2ba769fe6a75e9aa1c95d98e2760",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"html/semantics/forms/textfieldselection/selection-start-end.html": [
|
"html/semantics/forms/textfieldselection/selection-start-end.html": [
|
||||||
|
@ -669347,7 +669678,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/wake-lock.idl": [
|
"interfaces/wake-lock.idl": [
|
||||||
"202dc6b09f7e6aa56289b62bb810ed0fb2e289d0",
|
"4c11b695f49986e7e9852348f21fe9bd5e68d185",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/wasm-js-api.idl": [
|
"interfaces/wasm-js-api.idl": [
|
||||||
|
@ -669403,7 +669734,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/webrtc-stats.idl": [
|
"interfaces/webrtc-stats.idl": [
|
||||||
"0992b341e1fe3cede699c09eeb5838bd1e7a3999",
|
"d9d20191ad851f4b6d85cd09e8a53b8697bc840e",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/webrtc.idl": [
|
"interfaces/webrtc.idl": [
|
||||||
|
@ -669419,7 +669750,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/webxr.idl": [
|
"interfaces/webxr.idl": [
|
||||||
"8a3264073e8268282c3db6a891b860d57bfcdb28",
|
"4c74fdac384299ed22a9b9244411c3755a8741db",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/worklets.idl": [
|
"interfaces/worklets.idl": [
|
||||||
|
@ -710559,7 +710890,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"url/resources/urltestdata.json": [
|
"url/resources/urltestdata.json": [
|
||||||
"26b8ea2e0bc9a166deef8af1a0df87e0a7e0fda4",
|
"bf4e2a7833d17fab604eb634051e627887fe936a",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"url/toascii.window.js": [
|
"url/toascii.window.js": [
|
||||||
|
@ -715711,7 +716042,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"webrtc/RTCPeerConnection-onnegotiationneeded.html": [
|
"webrtc/RTCPeerConnection-onnegotiationneeded.html": [
|
||||||
"f7bf8bd3e3bdc24c63a92da22eaae77b95f0d4fd",
|
"336b100de058200ab49400fac9ae00f8524b9da9",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [
|
"webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[line-breaking-013.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[line-breaking-014.html]
|
||||||
|
expected: FAIL
|
|
@ -36,3 +36,6 @@
|
||||||
[If the event's initialized flag is not set, an InvalidStateError must be thrown (WheelEvent).]
|
[If the event's initialized flag is not set, an InvalidStateError must be thrown (WheelEvent).]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Capturing event listeners should be called before non-capturing ones]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/plain */*;charset=gbk]
|
[<iframe>: combined response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[fetch(): separate response Content-Type: text/html;x=" text/plain]
|
[fetch(): separate response Content-Type: text/html;x=" text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" " text/plain]
|
[<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]
|
[Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
[<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]
|
[Response: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" " text/plain]
|
[<iframe>: separate response Content-Type: text/html;" " text/plain]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[fetch(): separate response Content-Type: text/plain */*;charset=gbk]
|
[fetch(): separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -286,7 +286,7 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[fetch(): combined response Content-Type: text/html;" " text/plain]
|
[fetch(): combined response Content-Type: text/html;" " text/plain]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
@ -310,32 +310,8 @@
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
[<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
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: */* text/html]
|
[<iframe>: separate response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
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
|
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%0C]
|
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_4.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
[non-active-document.html]
|
|
||||||
[DOMParser]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[createHTMLDocument]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<template>]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -14,6 +14,6 @@
|
||||||
[Setting value to a shorter string than defaultValue should correct the cursor position]
|
[Setting value to a shorter string than defaultValue should correct the cursor position]
|
||||||
expected: FAIL
|
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
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[realtimeanalyser-fft-scaling.html]
|
[realtimeanalyser-fft-scaling.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[transition_calc_implicit.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -186,7 +186,7 @@ jobs:
|
||||||
- template: tools/ci/azure/install_certs.yml
|
- template: tools/ci/azure/install_certs.yml
|
||||||
- template: tools/ci/azure/update_hosts.yml
|
- template: tools/ci/azure/update_hosts.yml
|
||||||
- template: tools/ci/azure/update_manifest.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'
|
displayName: 'Run tests'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
displayName: 'Publish results'
|
displayName: 'Publish results'
|
||||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -165,19 +165,30 @@ promise_test(async () => {
|
||||||
const elem = document.createElement(localName);
|
const elem = document.createElement(localName);
|
||||||
document.body.appendChild(elem);
|
document.body.appendChild(elem);
|
||||||
elem.disabled = true;
|
elem.disabled = true;
|
||||||
const eventPromises = [
|
const animationStartPromise = new Promise(r => {
|
||||||
"animationstart",
|
elem.addEventListener("animationstart", () => {
|
||||||
"animationiteration",
|
// Seek to the second iteration to trigger the animationiteration event
|
||||||
"animationend",
|
elem.style.animationDelay = "-100s"
|
||||||
].map(eventType => {
|
r();
|
||||||
return new Promise(r => {
|
|
||||||
elem.addEventListener(eventType, r, { once: true });
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
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");
|
elem.classList.add("animate");
|
||||||
// All the events fire...
|
// All the events fire...
|
||||||
await Promise.all(eventPromises);
|
await Promise.all([
|
||||||
|
animationStartPromise,
|
||||||
|
animationIterationPromise,
|
||||||
|
animationEndPromise,
|
||||||
|
]);
|
||||||
elem.remove();
|
elem.remove();
|
||||||
}
|
}
|
||||||
}, "CSS Animation animationstart, animationiteration, animationend fire on disabled form elements");
|
}, "CSS Animation animationstart, animationiteration, animationend fire on disabled form elements");
|
||||||
|
|
|
@ -98,7 +98,7 @@ async_test(function() {
|
||||||
results.push(3)
|
results.push(3)
|
||||||
}), true)
|
}), true)
|
||||||
b.dispatchEvent(new Event("x"))
|
b.dispatchEvent(new Event("x"))
|
||||||
assert_array_equals(results, [1, 2, 3])
|
assert_array_equals(results, [1, 3, 2])
|
||||||
this.done()
|
this.done()
|
||||||
}, "Event listeners should be called in order of addition")
|
}, "Capturing event listeners should be called before non-capturing ones")
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -69,11 +69,37 @@
|
||||||
el.selectionStart = 3;
|
el.selectionStart = 3;
|
||||||
el.selectionEnd = 5;
|
el.selectionEnd = 5;
|
||||||
|
|
||||||
el.textContent = "abcdef\r\nwhatevs";
|
el.firstChild.data = "abcdef\r\nwhatevs";
|
||||||
assert_equals(el.selectionStart, 3);
|
assert_equals(el.selectionStart, 3);
|
||||||
assert_equals(el.selectionEnd, 5);
|
assert_equals(el.selectionEnd, 5);
|
||||||
}, "Setting the same value (with different newlines) in a textarea should NOT update selection{Start,End}");
|
}, "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() {
|
test(function() {
|
||||||
var el = document.createElement("textarea");
|
var el = document.createElement("textarea");
|
||||||
el.defaultValue = "123";
|
el.defaultValue = "123";
|
||||||
|
@ -105,8 +131,12 @@
|
||||||
assert_equals(el.selectionEnd, 9);
|
assert_equals(el.selectionEnd, 9);
|
||||||
el.type = "color";
|
el.type = "color";
|
||||||
el.type = "text";
|
el.type = "text";
|
||||||
assert_equals(el.selectionStart, 7);
|
// https://html.spec.whatwg.org/C/input.html#the-input-element:attr-input-type-15
|
||||||
assert_equals(el.selectionEnd, 7);
|
// 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}");
|
}, "Shortening value by turning the input type into 'color' and back to 'text' should correct selection{Start,End}");
|
||||||
|
|
||||||
test(function() {
|
test(function() {
|
||||||
|
|
|
@ -11,13 +11,19 @@ enum WakeLockType { "screen", "system" };
|
||||||
|
|
||||||
[Constructor(WakeLockType type), SecureContext, Exposed=(DedicatedWorker,Window)]
|
[Constructor(WakeLockType type), SecureContext, Exposed=(DedicatedWorker,Window)]
|
||||||
interface WakeLock : EventTarget {
|
interface WakeLock : EventTarget {
|
||||||
[Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type);
|
|
||||||
readonly attribute WakeLockType type;
|
readonly attribute WakeLockType type;
|
||||||
readonly attribute boolean active;
|
readonly attribute boolean active;
|
||||||
attribute EventHandler onactivechange;
|
attribute EventHandler onactivechange;
|
||||||
Promise<void> request(optional WakeLockRequestOptions options);
|
Promise<void> request(optional WakeLockRequestOptions options);
|
||||||
|
static sequence<WakeLock> query(optional WakeLockQueryFilter filter);
|
||||||
|
[Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type);
|
||||||
};
|
};
|
||||||
|
|
||||||
dictionary WakeLockRequestOptions {
|
dictionary WakeLockRequestOptions {
|
||||||
AbortSignal? signal;
|
AbortSignal? signal;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dictionary WakeLockQueryFilter {
|
||||||
|
WakeLockType? type;
|
||||||
|
boolean? active;
|
||||||
|
};
|
||||||
|
|
|
@ -102,7 +102,10 @@ dictionary RTCOutboundRtpStreamStats : RTCSentRtpStreamStats {
|
||||||
DOMString senderId;
|
DOMString senderId;
|
||||||
DOMString remoteId;
|
DOMString remoteId;
|
||||||
DOMHighResTimeStamp lastPacketSentTimestamp;
|
DOMHighResTimeStamp lastPacketSentTimestamp;
|
||||||
|
unsigned long long retransmittedPacketsSent;
|
||||||
|
unsigned long long retransmittedBytesSent;
|
||||||
double targetBitrate;
|
double targetBitrate;
|
||||||
|
unsigned long long totalEncodedBytesTarget;
|
||||||
unsigned long framesEncoded;
|
unsigned long framesEncoded;
|
||||||
unsigned long long qpSum;
|
unsigned long long qpSum;
|
||||||
double totalEncodeTime;
|
double totalEncodeTime;
|
||||||
|
|
|
@ -188,6 +188,13 @@ interface XRInputSource {
|
||||||
readonly attribute XRTargetRayMode targetRayMode;
|
readonly attribute XRTargetRayMode targetRayMode;
|
||||||
readonly attribute XRSpace targetRaySpace;
|
readonly attribute XRSpace targetRaySpace;
|
||||||
readonly attribute XRSpace? gripSpace;
|
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 {};
|
[SecureContext, Exposed=Window] interface XRLayer {};
|
||||||
|
@ -254,11 +261,13 @@ dictionary XRSessionEventInit : EventInit {
|
||||||
interface XRInputSourceEvent : Event {
|
interface XRInputSourceEvent : Event {
|
||||||
readonly attribute XRFrame frame;
|
readonly attribute XRFrame frame;
|
||||||
readonly attribute XRInputSource inputSource;
|
readonly attribute XRInputSource inputSource;
|
||||||
|
readonly attribute long? buttonIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
dictionary XRInputSourceEventInit : EventInit {
|
dictionary XRInputSourceEventInit : EventInit {
|
||||||
required XRFrame frame;
|
required XRFrame frame;
|
||||||
required XRInputSource inputSource;
|
required XRInputSource inputSource;
|
||||||
|
long? buttonIndex = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
[SecureContext, Exposed=Window, Constructor(DOMString type, XRReferenceSpaceEventInit eventInitDict)]
|
[SecureContext, Exposed=Window, Constructor(DOMString type, XRReferenceSpaceEventInit eventInitDict)]
|
||||||
|
|
|
@ -4633,6 +4633,22 @@
|
||||||
"search": "",
|
"search": "",
|
||||||
"hash": ""
|
"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",
|
"# Hosts and percent-encoding",
|
||||||
{
|
{
|
||||||
"input": "ftp://example.com%80/",
|
"input": "ftp://example.com%80/",
|
||||||
|
|
|
@ -199,10 +199,133 @@
|
||||||
pc.onnegotiationneeded = e => fired = true;
|
pc.onnegotiationneeded = e => fired = true;
|
||||||
pc.createDataChannel('test');
|
pc.createDataChannel('test');
|
||||||
const answer = await generateAnswer(offer);
|
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");
|
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);
|
await new Promise(resolve => pc.onnegotiationneeded = resolve);
|
||||||
}, 'negotiationneeded event should fire only after signaling state go back to stable');
|
}, '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);
|
||||||
|
}, 'Updating the direction of the transceiver should cause negotiationneeded to fire');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO
|
TODO
|
||||||
|
@ -243,19 +366,8 @@
|
||||||
When the RTCPeerConnection() constructor is invoked
|
When the RTCPeerConnection() constructor is invoked
|
||||||
7. Let connection have a [[needNegotiation]] internal slot, initialized to false.
|
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
|
5.4. RTCRtpTransceiver Interface
|
||||||
|
|
||||||
setDirection
|
|
||||||
7. Update the negotiation-needed flag for connection.
|
|
||||||
|
|
||||||
stop
|
stop
|
||||||
11. Update the negotiation-needed flag for connection.
|
11. Update the negotiation-needed flag for connection.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue