mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Update web-platform-tests to revision 30a08266e1951b16ab2587068de64041095bbc2f
This commit is contained in:
parent
7b5ec99d25
commit
19a2b8047d
185 changed files with 3858 additions and 329 deletions
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[bidi-flag-emoji.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[svg-root-as-flex-item-001.html]
|
||||
expected: FAIL
|
|
@ -2,3 +2,6 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
[KeyframeEffect-getKeyframes.tentative.html]
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a simple transition]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a transition with a CSS variable endpoint]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a transition after resetting the effect target]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns frames unaffected by a non-default easing function]
|
||||
expected: FAIL
|
||||
|
|
@ -2,6 +2,3 @@
|
|||
[listeners are called when <iframe> is resized]
|
||||
expected: FAIL
|
||||
|
||||
[listeners are called correct number of times]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -17,6 +17,3 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,3 +2,6 @@
|
|||
[elementsFromPoint on the root document for points in iframe elements]
|
||||
expected: FAIL
|
||||
|
||||
[elementsFromPoint on inner documents]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementsFromPoint-invalid-cases.html]
|
||||
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[effect-reference-lighting-no-light.tentative.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[attributes-are-nodes.html]
|
||||
expected: CRASH
|
|
@ -0,0 +1,7 @@
|
|||
[DocumentFragment-getElementById.html]
|
||||
[It must return the first element when there are matches, using a template]
|
||||
expected: FAIL
|
||||
|
||||
[It must return the first element when there are matches]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[Node-cloneNode-XMLDocument.html]
|
||||
[Created with createDocument]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[Node-cloneNode-svg.html]
|
||||
[cloned <use>'s xlink:href attribute should have the right properties]
|
||||
expected: FAIL
|
||||
|
||||
[cloned <svg>'s xmlns:xlink attribute should have the right properties]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[Node-isConnected-shadow-dom.html]
|
||||
[Node.isConnected in a open shadow tree]
|
||||
expected: FAIL
|
||||
|
||||
[Node.isConnected in a closed shadow tree]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[ParentNode-querySelector-escapes.html]
|
||||
["\\ud83dsurrogateFirst" should never match with "#\\\\d83d surrogateFirst"]
|
||||
expected: FAIL
|
||||
|
||||
["surrogateSecond\\udd11" should never match with "#surrogateSecond\\\\dd11"]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[ParentNode-querySelector-scope.html]
|
||||
[querySelectorAll]
|
||||
expected: FAIL
|
||||
|
||||
[querySelector]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[ParentNode-querySelectors-exclusive.html]
|
||||
[querySelector/querySelectorAll should not include their thisArg]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[getElementsByClassName-empty-set.html]
|
||||
[Passing a space to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
||||
[Passing three spaces to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
||||
[Passing an empty string to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
|
@ -318,18 +318,15 @@
|
|||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -59,6 +59,3 @@
|
|||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,9 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%22nosniFF%22]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_2.html]
|
||||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -11,6 +11,3 @@
|
|||
[Set HTTP URL frame location.protocol to ftp]
|
||||
expected: FAIL
|
||||
|
||||
[Set data URL frame location.protocol to data]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
[skip-document-with-fragment.html]
|
||||
expected: TIMEOUT
|
||||
[Autofocus elements in iframed documents with URL fragments should be skipped.]
|
||||
expected: FAIL
|
||||
|
||||
[Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[image-loading-lazy-slow-aspect-ratio.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[image-loading-lazy-slow.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[grow-reftypes.tentative.any.html]
|
||||
|
||||
[grow-reftypes.tentative.any.worker.html]
|
||||
expected: ERROR
|
|
@ -56,3 +56,6 @@
|
|||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44052 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 39026.\n\t[39026\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42303 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 10361.\n\t[10361\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 7056.\n\t[7056\]\t5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -89,3 +89,9 @@
|
|||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-4.6400068104817376e-34\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5571627358307376e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (33.790441705965016 dB) is not greater than or equal to 85.58. Got 33.790441705965016.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-2.4090957641601563e+0\t5.6332010030746460e-1\t2.9724158644676208e+0\t5.2766018163478501e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5659909161559839e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 2.9724158644676208e+0 at index of 31080.\n\tMax RelError of 5.2766018163478501e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
[k-rate-panner-connections.html]
|
||||
[< [Panner x\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[< [Panner y\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionX: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionZ: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionZ: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[# AUDIT TASK RUNNER FINISHED: 3 out of 6 tasks were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[< [Panner z\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionY: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionX: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionY: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[bidi-flag-emoji.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[svg-root-as-flex-item-001.html]
|
||||
expected: FAIL
|
|
@ -2,3 +2,6 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,3 +11,6 @@
|
|||
[KeyframeEffect.getKeyframes() returns frames unaffected by a non-default easing function]
|
||||
expected: FAIL
|
||||
|
||||
[KeyframeEffect.getKeyframes() returns expected frames for a transition after resetting the effect target]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,6 +2,3 @@
|
|||
[listeners are called when <iframe> is resized]
|
||||
expected: FAIL
|
||||
|
||||
[listeners are called correct number of times]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -21,6 +21,3 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,3 +2,6 @@
|
|||
[elementsFromPoint on the root document for points in iframe elements]
|
||||
expected: FAIL
|
||||
|
||||
[elementsFromPoint on inner documents]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementsFromPoint-invalid-cases.html]
|
||||
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[effect-reference-convolve-error-001.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[effect-reference-lighting-no-light.tentative.html]
|
||||
expected: FAIL
|
2
tests/wpt/metadata/dom/attributes-are-nodes.html.ini
Normal file
2
tests/wpt/metadata/dom/attributes-are-nodes.html.ini
Normal file
|
@ -0,0 +1,2 @@
|
|||
[attributes-are-nodes.html]
|
||||
expected: CRASH
|
|
@ -0,0 +1,7 @@
|
|||
[DocumentFragment-getElementById.html]
|
||||
[It must return the first element when there are matches, using a template]
|
||||
expected: FAIL
|
||||
|
||||
[It must return the first element when there are matches]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[Node-cloneNode-XMLDocument.html]
|
||||
[Created with createDocument]
|
||||
expected: FAIL
|
||||
|
7
tests/wpt/metadata/dom/nodes/Node-cloneNode-svg.html.ini
Normal file
7
tests/wpt/metadata/dom/nodes/Node-cloneNode-svg.html.ini
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Node-cloneNode-svg.html]
|
||||
[cloned <use>'s xlink:href attribute should have the right properties]
|
||||
expected: FAIL
|
||||
|
||||
[cloned <svg>'s xmlns:xlink attribute should have the right properties]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[Node-isConnected-shadow-dom.html]
|
||||
[Node.isConnected in a open shadow tree]
|
||||
expected: FAIL
|
||||
|
||||
[Node.isConnected in a closed shadow tree]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[ParentNode-querySelector-escapes.html]
|
||||
["\\ud83dsurrogateFirst" should never match with "#\\\\d83d surrogateFirst"]
|
||||
expected: FAIL
|
||||
|
||||
["surrogateSecond\\udd11" should never match with "#surrogateSecond\\\\dd11"]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[ParentNode-querySelector-scope.html]
|
||||
[querySelectorAll]
|
||||
expected: FAIL
|
||||
|
||||
[querySelector]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[ParentNode-querySelectors-exclusive.html]
|
||||
[querySelector/querySelectorAll should not include their thisArg]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[getElementsByClassName-empty-set.html]
|
||||
[Passing a space to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
||||
[Passing three spaces to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
||||
[Passing an empty string to getElementsByClassName should return an empty HTMLCollection]
|
||||
expected: FAIL
|
||||
|
|
@ -318,18 +318,15 @@
|
|||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -59,6 +59,3 @@
|
|||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,9 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%22nosniFF%22]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -18,6 +18,3 @@
|
|||
[Set HTTP URL frame location.protocol to ftp]
|
||||
expected: FAIL
|
||||
|
||||
[Set data URL frame location.protocol to data]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
[skip-document-with-fragment.html]
|
||||
expected: TIMEOUT
|
||||
[Autofocus elements in iframed documents with URL fragments should be skipped.]
|
||||
expected: FAIL
|
||||
|
||||
[Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[image-loading-lazy-slow-aspect-ratio.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[image-loading-lazy-slow.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
[grow-reftypes.tentative.any.html]
|
||||
[Grow with exported-function argument]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[grow-reftypes.tentative.any.worker.html]
|
||||
expected: ERROR
|
||||
|
|
|
@ -125,3 +125,6 @@
|
|||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44052 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 39026.\n\t[39026\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42303 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 10361.\n\t[10361\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 7056.\n\t[7056\]\t5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -320,3 +320,9 @@
|
|||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-4.6400068104817376e-34\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5571627358307376e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (33.790441705965016 dB) is not greater than or equal to 85.58. Got 33.790441705965016.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-2.4090957641601563e+0\t5.6332010030746460e-1\t2.9724158644676208e+0\t5.2766018163478501e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5659909161559839e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 2.9724158644676208e+0 at index of 31080.\n\tMax RelError of 5.2766018163478501e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
[k-rate-panner-connections.html]
|
||||
[< [Panner x\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[< [Panner y\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionX: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionZ: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionZ: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[# AUDIT TASK RUNNER FINISHED: 3 out of 6 tasks were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[< [Panner z\] 2 out of 14 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionY: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X positionX: Expected output channel 1 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
||||
[X Panner: positionY: Expected output channel 0 should have contain at least one value different from 0.]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -15,10 +15,18 @@ def main(request, response):
|
|||
# Default mime type for returned data.
|
||||
content_type = "application/originpolicy+json"
|
||||
|
||||
# Reserve 'op100' for testing incorrect mime type for manifest file.
|
||||
# op100 tests an invalid MIME type.
|
||||
if host_piece == "op100":
|
||||
content_type = "text/plain"
|
||||
|
||||
# op98 tests that charset is ignored and the result is always processed as UTF-8.
|
||||
if host_piece == "op98":
|
||||
content_type = "application/originpolicy+json;charset=utf-16"
|
||||
|
||||
# op97 tests that adding charset=utf-8 (and a BOM) does not break anything.
|
||||
if host_piece == "op97":
|
||||
content_type = "application/originpolicy+json;charset=utf-8"
|
||||
|
||||
filepath_pattern = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(
|
||||
__file__)), "../origin-policy/policies/", "{} *.json".format(host_piece)))
|
||||
|
||||
|
|
|
@ -1,11 +1,79 @@
|
|||
# Web Bluetooth Testing
|
||||
# Web Bluetooth API Tests
|
||||
|
||||
Web Bluetooth testing relies on the [Web Bluetooth Testing API] which must be
|
||||
provided by browsers under test.
|
||||
The Web Bluetooth API enables sites to connect to and interact with Bluetooth
|
||||
Low Energy devices. Please check the [Web Bluetooth specification] for more
|
||||
details.
|
||||
|
||||
Web Bluetooth testing relies on the [FakeBluetooth][Web Bluetooth
|
||||
Testing] test API which must be provided by browsers under test.
|
||||
|
||||
TODO([#485]): Update the links to [FakeBluetooth][Web Bluetooth Testing] to
|
||||
point to the [Testing Web Bluetooth specification].
|
||||
|
||||
In this test suite `resources/bluetooth-helpers.js` detects and triggers
|
||||
the API to be loaded as needed.
|
||||
the API to be loaded as needed. This file also contains several helper methods
|
||||
that are used in the tests to set up fake Bluetooth devices and to assert that
|
||||
specific Bluetooth events happened.
|
||||
|
||||
[Web Bluetooth specification]: https://WebBluetoothCG.github.io/web-bluetooth
|
||||
[Web Bluetooth Testing]:
|
||||
https://docs.google.com/document/d/1Nhv_oVDCodd1pEH_jj9k8gF4rPGb_84VYaZ9IG8M_WY/
|
||||
[#485]: https://github.com/WebBluetoothCG/web-bluetooth/issues/485
|
||||
[Testing Web Bluetooth specification]:
|
||||
https://WebBluetoothCG.github.io/web-bluetooth/tests.html
|
||||
|
||||
## Generated Tests
|
||||
|
||||
Several Web Bluetooth tests share common test logic. For these tests, the
|
||||
`script-tests` directory contains templates that are used by the
|
||||
`generate.py` script to create several tests from these templates. The templates
|
||||
are JavaScript files that contain a `CALLS()` keyword with functions delimited by
|
||||
a `|` character. A test will be created for each function in the `CALLS()` by
|
||||
`generate.py`. Note that for each subdirectory in `script-tests` there is a
|
||||
matching directory under `bluetooth`. The generator will expand `CALLS`
|
||||
functions into the
|
||||
corresponding directory.
|
||||
|
||||
### Example
|
||||
|
||||
The `./script-tests/server/get-same-object.js` contains the following
|
||||
code:
|
||||
|
||||
```js
|
||||
gattServer.CALLS([
|
||||
getPrimaryService('heart_rate')|
|
||||
getPrimaryServices()|
|
||||
getPrimaryServices('heart_rate')[UUID]]),
|
||||
```
|
||||
|
||||
The functions in `CALLS()` will be expanded to generate 3 test files prefixed
|
||||
with `gen-`:
|
||||
|
||||
```
|
||||
bluetooth/server/getPrimaryService/gen-get-same-object.html
|
||||
bluetooth/server/getPrimaryServices/gen-get-same-object.html
|
||||
bluetooth/server/getPrimaryServices/gen-get-same-object-with-uuid.html
|
||||
```
|
||||
|
||||
### Generate Tests
|
||||
|
||||
To generate the tests in `script-tests`, run the following command from the
|
||||
source root:
|
||||
|
||||
```sh
|
||||
$ python bluetooth/generate.py
|
||||
```
|
||||
|
||||
To check that generated tests are correct and that there are no obsolete tests,
|
||||
or tests for which a template does not exist anymore, run:
|
||||
|
||||
```sh
|
||||
$ python bluetooth/generate_test.py
|
||||
```
|
||||
|
||||
More details can be found in `generate.py` and `generate_test.py`.
|
||||
|
||||
## Chromium Implementation
|
||||
The Chromium implementation is provided by
|
||||
`../resources/chromium/web-bluetooth-test.js`.
|
||||
|
||||
|
@ -18,44 +86,33 @@ service. At this point, it would be possible to add the necessary testing hooks
|
|||
into stable Chrome without substantially increasing the binary size, similar to
|
||||
WebUSB.
|
||||
|
||||
These bluetooth tests are upstreamed here because other browsers can reuse them
|
||||
by implementing the [Web Bluetooth Testing API], even if only on their internal
|
||||
These Bluetooth tests are upstreamed here because other browsers can reuse them
|
||||
by implementing the [Web Bluetooth Testing] API, even if only on their internal
|
||||
infrastructure.
|
||||
|
||||
[Web Bluetooth Testing API]: https://docs.google.com/document/d/1Nhv_oVDCodd1pEH_jj9k8gF4rPGb_84VYaZ9IG8M_WY/
|
||||
For more implementation details, see the [Web Bluetooth Service README].
|
||||
|
||||
# Generated gen-* files from generate.py
|
||||
[Web Bluetooth Service README]:
|
||||
https://chromium.googlesource.com/chromium/src.git/+/master/content/browser/bluetooth/README.md
|
||||
|
||||
`generate.py` builds `gen-*.html` tests using templates in
|
||||
`script-tests/*/*.js`.
|
||||
# Resources and Documentation
|
||||
|
||||
The subdirectory structure in `bluetooth/script-test/*` is recreated into
|
||||
`bluetooth/*`. The generator expands each CALL function from templates
|
||||
into new leaf directories and files.
|
||||
For any issues pertaining to the specification, please file a [GitHub]
|
||||
issue. For issues pertaining to an implementation of Web Bluetooth, please
|
||||
file an issue with the implementor's bug tracker.
|
||||
|
||||
Example:
|
||||
* [Web Bluetooth specification]
|
||||
* [Web Bluetooth Testing]
|
||||
* [Testing Web Bluetooth specification]
|
||||
|
||||
`script-tests/server/get-same-object.js` contains:
|
||||
[GitHub]: https://github.com/WebBluetoothCG/web-bluetooth
|
||||
|
||||
```
|
||||
gattServer.CALLS([
|
||||
getPrimaryService('heart_rate')|
|
||||
getPrimaryServices()|
|
||||
getPrimaryServices('heart_rate')[UUID]]),
|
||||
```
|
||||
## Chromium
|
||||
|
||||
Generating:
|
||||
Mailing list: web-bluetooth@chromium.org
|
||||
|
||||
```
|
||||
server/getPrimaryService/gen-get-same-object.html
|
||||
server/getPrimaryServices/gen-get-same-object.html
|
||||
server/getPrimaryServices/gen-get-same-object-with-uuid.html
|
||||
```
|
||||
Bug tracker: [Blink>Bluetooth]
|
||||
|
||||
Usage:
|
||||
* [Web Bluetooth Service README]
|
||||
|
||||
```
|
||||
$ python generate.py
|
||||
```
|
||||
|
||||
More details documented in `generate.py`.
|
||||
[Blink>Bluetooth]: https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EBluetooth&can=2
|
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<body>
|
||||
<div>לום<span style="unicode-bidi: isolate">🇱🇮</span></div>
|
||||
</body>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Correct support of emoji flag following rtl run</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css2/visuren.html">
|
||||
<link rel="match" href="bidi-flag-emoji-ref.html">
|
||||
<body>
|
||||
<div>לום🇱🇮</div>
|
||||
</body>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<title>CSS Flexbox: flex-basis with zero pixel</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-property">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-basis-property">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
<link href="support/flexbox.css" rel="stylesheet">
|
||||
<meta name="assert" content="This test ensures that setting 'flex-basis' property to
|
||||
|
@ -9,8 +9,7 @@ zero pixel or percentage in combination with one value of both 'flex-grow' and '
|
|||
and 'writing-mode' value works properly.">
|
||||
<style>
|
||||
.flexbox > div {
|
||||
font-family: Ahem;
|
||||
font-size: 14px;
|
||||
font: 14px/1 Ahem;
|
||||
}
|
||||
|
||||
.flex-one-one-zero-percent {
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<title>CSS Flexbox: vertical space after changes with overflow: auto and flex-direction: column.</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-properties">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
|
||||
<link rel="help" href="https://crbug.com/590683">
|
||||
<link rel="help" href="https://crbug.com/594465">
|
||||
<link rel="match" href="reference/overflow-auto-007-ref.html">
|
||||
<meta name="assert" content="This test checks that vertical space allocated to the content of a flexbox with 'overflow: auto' and 'flex-direction: column' is properly computed when its contents change." />
|
||||
|
||||
<style>
|
||||
body {
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.column {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.flex11a {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.root {
|
||||
height: 100px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body onload="runTest()">
|
||||
|
||||
<p>This test should not have a horizontal scrollbar</p>
|
||||
|
||||
<div class="flexbox column">
|
||||
<div class="flexbox">
|
||||
<div class="flex11a">
|
||||
<div class="root">
|
||||
<div id="history"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function runTest() {
|
||||
var historyEl = document.getElementById('history');
|
||||
historyEl.offsetWidth;
|
||||
historyEl.innerText = '\n\n\n\n\n\n\n\n';
|
||||
};
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<p>This test should not have a horizontal scrollbar</p>
|
||||
|
||||
<div style="width: 400px; height: 100px; overflow-x: hidden; overflow-y: scroll;">
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Flexbox: Relayout after loading an image</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#resolve-flexible-lengths">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-images-4/#image-values">
|
||||
<meta name="assert" content="This test ensures flexbox does a relayout after an image loads.">
|
||||
<link href="support/flexbox.css" rel="stylesheet">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id=log></div>
|
||||
<p>Test passes if a green 100x100 image is rendered.</p>
|
||||
<div id="test" class="flexbox">
|
||||
|
||||
<div class="flexbox">
|
||||
<img data-expected-width=100 data-expected-height=100 id="image" onload="imageLoaded()">
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function changeImage()
|
||||
{
|
||||
document.getElementById("image").src = "support/100x100-green.png";
|
||||
}
|
||||
step_timeout(changeImage, 0);
|
||||
|
||||
function imageLoaded()
|
||||
{
|
||||
checkLayout('#test')
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Flexbox: absolutely position child removal.</title>
|
||||
<link rel="stylesheet" href="support/flexbox.css" >
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#abspos-items">
|
||||
<meta name="assert" content="This test ensures that removing absolute positioned flexbox children works."/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="outer" class="inline-flexbox">
|
||||
<div id="middle" class="inline-flexbox">
|
||||
<div id="inner" style="position: absolute">absolute</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var outer = document.getElementById("outer");
|
||||
var middle = document.getElementById("middle");
|
||||
var inner = document.getElementById("inner");
|
||||
|
||||
// Force layout.
|
||||
outer.offsetHeight;
|
||||
|
||||
middle.removeChild(inner);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html>
|
||||
<title>SVG root as flex item</title>
|
||||
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#algo-main-item" title="Part E">
|
||||
<!-- The note refers to CSS2§10, but I didn't include that here because items in flex formatting contexts aren't included. -->
|
||||
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-sizes" title="first Note">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<link rel="bookmark" href="https://crbug.com/1065134">
|
||||
<meta name="flags" content="" />
|
||||
<meta name="assert" content="Honor SVG root's aspect ratio for flex layout." />
|
||||
|
||||
<style>
|
||||
#reference-overlapped-red {
|
||||
position: absolute;
|
||||
background-color: red;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
z-index: -1;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
|
||||
<div id="reference-overlapped-red"></div>
|
||||
|
||||
<div style="display: flex;">
|
||||
<svg viewBox="0 0 200 200" style="height: 100px">
|
||||
<rect width="200" height="200" fill="green" />
|
||||
</svg>
|
||||
</div>
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>CSS Test: font-feature-settings Liga and Tibetan shaping</title>
|
||||
<body>
|
||||
<p>Test passes if the three lines below are identical.</p>
|
||||
<section class="test" lang="bo">
|
||||
<p>རྒྱུ</p>
|
||||
<p>རྒྱུ</p>
|
||||
<p>རྒྱུ</p>
|
||||
</section>
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>CSS Test: font-feature-settings Liga and Tibetan shaping</title>
|
||||
<link rel="author" title="Dominik Röttsches" href="drott@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop">
|
||||
<link rel="match" href="font-feature-settings-tibetan-ref.html">
|
||||
<meta name="assert" content="Test that Tibetan shaping works with ligatures disabled.">
|
||||
<style>
|
||||
.letter-spacing {
|
||||
letter-spacing: .2px;
|
||||
}
|
||||
|
||||
.liga-off {
|
||||
font-feature-settings: "liga" off;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<p>Test passes if the three lines below are identical.</p>
|
||||
<section class="test" lang="bo">
|
||||
<p>རྒྱུ</p>
|
||||
<p class="letter-spacing">རྒྱུ</p>
|
||||
<p class="liga-off">རྒྱུ</p>
|
||||
</section>
|
|
@ -0,0 +1,11 @@
|
|||
<!quirks-mode>
|
||||
<link rel="help" href="https://crbug.com/1004060">
|
||||
<style>
|
||||
html, body {
|
||||
width: min-content;
|
||||
overflow: scroll;
|
||||
}
|
||||
</style>
|
||||
<body style="margin-right: -1px;">
|
||||
<div style="margin: 0 10000000000;"></div>
|
||||
</body>
|
|
@ -131,4 +131,39 @@ test(t => {
|
|||
}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
|
||||
+ ' transition with a CSS variable endpoint');
|
||||
|
||||
test(t => {
|
||||
const div = addDiv(t);
|
||||
div.style.left = '0px';
|
||||
getComputedStyle(div).transitionProperty;
|
||||
div.style.transition = 'left 100s';
|
||||
div.style.left = '100px';
|
||||
|
||||
// Resetting the effect target before retrieving the keyframes should not
|
||||
// affect the computed property values.
|
||||
const anim = div.getAnimations()[0];
|
||||
anim.effect.target = null;
|
||||
const frames = anim.effect.getKeyframes();
|
||||
|
||||
const expected = [
|
||||
{
|
||||
offset: 0,
|
||||
computedOffset: 0,
|
||||
easing: 'linear',
|
||||
composite: 'auto',
|
||||
left: '0px',
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
computedOffset: 1,
|
||||
easing: 'linear',
|
||||
composite: 'auto',
|
||||
left: '100px',
|
||||
},
|
||||
];
|
||||
for (let i = 0; i < frames.length; i++) {
|
||||
assert_frames_equal(frames[i], expected[i], `ComputedKeyframe #${i}`);
|
||||
}
|
||||
}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
|
||||
+ ' transition after resetting the effect target');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<title>SVG Filters: feConvolveMatrix filter</title>
|
||||
<link rel="author" title="Fredrik Söderquist" href="mailto:fs@opera.com">
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#feConvolveMatrixElement">
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#ColorInterpolationFiltersProperty">
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#feColorMatrixElement">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=533457">
|
||||
<link rel="match" href="reference/effect-reference-convolve-error-001-ref.html">
|
||||
<meta name="assert" content="feConvolveMatrix without a kernelMatrix acts as a pass through filter"/>
|
||||
<div style="width: 100px; height: 100px; background-color: red; filter: url(#f)"></div>
|
||||
<svg height="0">
|
||||
<filter id="f" x="0" y="0" width="1" height="1">
|
||||
<feConvolveMatrix/>
|
||||
<feColorMatrix values="1 0 0 0 0,
|
||||
0 1 0 0 0.5,
|
||||
0 0 1 0 0,
|
||||
0 0 0 1 1"
|
||||
color-interpolation-filters="sRGB"/>
|
||||
</filter>
|
||||
</svg>
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Filters: feDiffuseLighting and feSpecularLighting error handling.</title>
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#feDiffuseLightingElement">
|
||||
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#feSpecularLightingElement">
|
||||
<link rel="match" href="reference/effect-reference-lighting-no-light.tentative-ref.html">
|
||||
<meta name="assert" content="This test ensures that invalid parameters to both feDiffuseLighting and feSpecularLighting produce transparent black."/>
|
||||
<style>
|
||||
.target {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: red;
|
||||
}
|
||||
</style>
|
||||
<div class="target" style="filter: url(#noLightDiffuse)"></div>
|
||||
<div class="target" style="filter: url(#noLightSpecular)"></div>
|
||||
<svg height="0" color-interpolation-filters="sRGB">
|
||||
<filter id="noLightDiffuse" x="0" y="0" width="1" height="1">
|
||||
<feDiffuseLighting lighting-color="blue"/>
|
||||
<!-- Using 0.5 on the matrices below can cause in different engines
|
||||
an off-by-one difference (127 vs. 128), when rounding 127.5 (255 * 0.5)
|
||||
either up or downwards.
|
||||
Hence, the test uses 0.502 (~128/255) to avoid this tie-break. -->
|
||||
<feColorMatrix values="1 0 0 0 0,
|
||||
0 1 0 0 0.502,
|
||||
0 0 1 0 0,
|
||||
0 0 0 1 1"/>
|
||||
</filter>
|
||||
|
||||
<filter id="noLightSpecular" x="0" y="0" width="1" height="1">
|
||||
<feSpecularLighting lighting-color="blue"/>
|
||||
<feColorMatrix values="1 0 0 0 0,
|
||||
0 1 0 0 0.502,
|
||||
0 0 1 0 0,
|
||||
0 0 0 1 1"/>
|
||||
</filter>
|
||||
</svg>
|
|
@ -1,2 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<div style="width: 100px; height: 100px; background-color: green"></div>
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<style>
|
||||
.target {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: green;
|
||||
}
|
||||
</style>
|
||||
<div class="target"></div>
|
||||
<div class="target"></div>
|
55
tests/wpt/web-platform-tests/dom/attributes-are-nodes.html
Normal file
55
tests/wpt/web-platform-tests/dom/attributes-are-nodes.html
Normal file
|
@ -0,0 +1,55 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Attributes are Nodes but should not be accepted outside of the `attributes` NamedNodeMap</title>
|
||||
<link rel=help href="https://dom.spec.whatwg.org/#dom-core-changes">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
test(() => {
|
||||
|
||||
const attribute = document.createAttribute("newattribute");
|
||||
|
||||
assert_true(attribute instanceof Node, "attribute instances are instances of Node");
|
||||
assert_true(Attr.prototype instanceof Node, "attribute instances are instances of Node");
|
||||
|
||||
}, "Attrs are subclasses of Nodes");
|
||||
|
||||
test(() => {
|
||||
|
||||
const parent = document.createElement("p");
|
||||
|
||||
const attribute = document.createAttribute("newattribute");
|
||||
assert_throws_dom("HierarchyRequestError", () => {
|
||||
parent.appendChild(attribute);
|
||||
});
|
||||
|
||||
}, "appendChild with an attribute as the child should fail");
|
||||
|
||||
test(() => {
|
||||
|
||||
const parent = document.createElement("p");
|
||||
parent.appendChild(document.createElement("span"));
|
||||
|
||||
const attribute = document.createAttribute("newattribute");
|
||||
assert_throws_dom("HierarchyRequestError", () => {
|
||||
parent.replaceChild(attribute, parent.firstChild);
|
||||
});
|
||||
|
||||
}, "replaceChild with an attribute as the child should fail");
|
||||
|
||||
test(() => {
|
||||
|
||||
const parent = document.createElement("p");
|
||||
parent.appendChild(document.createElement("span"));
|
||||
|
||||
const attribute = document.createAttribute("newattribute");
|
||||
assert_throws_dom("HierarchyRequestError", () => {
|
||||
parent.insertBefore(attribute, parent.firstChild);
|
||||
});
|
||||
|
||||
}, "insertBefore with an attribute as the child should fail");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,45 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://dom.spec.whatwg.org/#interface-htmlcollection">
|
||||
<link rel="help" href="https://heycam.github.io/webidl/#es-iterator">
|
||||
<title>HTMLCollection @@iterator Test</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<p id="1"></p>
|
||||
<p id="2"></p>
|
||||
<p id="3"></p>
|
||||
<p id="4"></p>
|
||||
<p id="5"></p>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const paragraphs = document.getElementsByTagName("p");
|
||||
|
||||
test(() => {
|
||||
assert_true("length" in paragraphs);
|
||||
}, "HTMLCollection has length method.");
|
||||
|
||||
test(() => {
|
||||
assert_false("values" in paragraphs);
|
||||
}, "HTMLCollection does not have iterable's values method.");
|
||||
|
||||
test(() => {
|
||||
assert_false("entries" in paragraphs);
|
||||
}, "HTMLCollection does not have iterable's entries method.");
|
||||
|
||||
test(() => {
|
||||
assert_false("forEach" in paragraphs);
|
||||
}, "HTMLCollection does not have iterable's forEach method.");
|
||||
|
||||
test(() => {
|
||||
assert_true(Symbol.iterator in paragraphs);
|
||||
}, "HTMLCollection has Symbol.iterator.");
|
||||
|
||||
test(() => {
|
||||
const ids = "12345";
|
||||
let idx = 0;
|
||||
for (const element of paragraphs) {
|
||||
assert_equals(element.getAttribute("id"), ids[idx++]);
|
||||
}
|
||||
}, "HTMLCollection is iterable via for-of loop.");
|
||||
</script>
|
|
@ -0,0 +1,34 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Event's stopImmediatePropagation</title>
|
||||
<link rel="help" href="https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation">
|
||||
<link rel="author" href="mailto:d@domenic.me" title="Domenic Denicola">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<div id="target"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
setup({ single_test: true });
|
||||
|
||||
const target = document.querySelector("#target");
|
||||
|
||||
let timesCalled = 0;
|
||||
target.addEventListener("test", e => {
|
||||
++timesCalled;
|
||||
e.stopImmediatePropagation();
|
||||
assert_equals(e.cancelBubble, true, "The stop propagation flag must have been set");
|
||||
});
|
||||
target.addEventListener("test", () => {
|
||||
++timesCalled;
|
||||
});
|
||||
|
||||
const e = new Event("test");
|
||||
target.dispatchEvent(e);
|
||||
assert_equals(timesCalled, 1, "The second listener must not have been called");
|
||||
|
||||
done();
|
||||
</script>
|
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>addEventListener with a platform object</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
</script>
|
||||
<my-custom-click id=click>Click me!</my-custom-click>
|
||||
<script>
|
||||
"use strict";
|
||||
setup({ single_test: true });
|
||||
|
||||
class MyCustomClick extends HTMLElement {
|
||||
connectedCallback() {
|
||||
this.addEventListener("click", this);
|
||||
}
|
||||
|
||||
handleEvent(event) {
|
||||
if (event.target === this) {
|
||||
this.dataset.yay = "It worked!";
|
||||
}
|
||||
}
|
||||
}
|
||||
window.customElements.define("my-custom-click", MyCustomClick);
|
||||
|
||||
const customElement = document.getElementById("click");
|
||||
customElement.click();
|
||||
|
||||
assert_equals(customElement.dataset.yay, "It worked!");
|
||||
|
||||
done();
|
||||
</script>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue