mirror of
https://github.com/servo/servo.git
synced 2025-07-21 22:33:41 +01:00
Update web-platform-tests to revision 04cd5eb8e5c47e4fe341f2fb541d39fa2346f464
This commit is contained in:
parent
0ab2c3f8a3
commit
1d0624b343
226 changed files with 4495 additions and 903 deletions
|
@ -37,6 +37,3 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,10 +0,0 @@
|
|||
[animation-delay-computed.html]
|
||||
[Property animation-delay value '20s, 10s' computes to '20s, 10s']
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-delay value 'calc(2 * 3s)' computes to '6s']
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-delay value '-500ms' computes to '-0.5s']
|
||||
expected: FAIL
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
[animation-duration-computed.html]
|
||||
[Property animation-duration value '20s, 10s' computes to '20s, 10s']
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-duration value 'calc(2 * 3s)' computes to '6s']
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-duration value '500ms' computes to '0.5s']
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
[align-content-wrap-001.html]
|
||||
[.default, .verticalWriting 10]
|
||||
expected: FAIL
|
||||
|
||||
[.default, .verticalWriting 12]
|
||||
expected: FAIL
|
||||
|
||||
[.default, .verticalWriting 9]
|
||||
expected: FAIL
|
||||
|
||||
[.default, .verticalWriting 6]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[align-content-wrap-002.html]
|
||||
[.flex-horizontal, .flex-vertical 1]
|
||||
expected: FAIL
|
||||
|
||||
[.flex-horizontal, .flex-vertical 5]
|
||||
expected: FAIL
|
||||
|
||||
[.flex-horizontal, .flex-vertical 6]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
[align-content-wrap-003.html]
|
||||
[.flexbox 6]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 33]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 12]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 13]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 11]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 34]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 35]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 36]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 32]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 30]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 31]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 29]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 28]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 27]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 26]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 25]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 24]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 23]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 21]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 44]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 41]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 43]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 42]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[writing-system-line-break-002.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[writing-system-segment-break-001.html]
|
||||
expected: FAIL
|
|
@ -1,10 +0,0 @@
|
|||
[transition-duration-computed.html]
|
||||
[Property transition-duration value '500ms' computes to '0.5s']
|
||||
expected: FAIL
|
||||
|
||||
[Property transition-duration value 'calc(2 * 3s)' computes to '6s']
|
||||
expected: FAIL
|
||||
|
||||
[Property transition-duration value '20s, 10s' computes to '20s, 10s']
|
||||
expected: FAIL
|
||||
|
|
@ -71,9 +71,6 @@
|
|||
[text-indent intermediate]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width end]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width end]
|
||||
[opacity end]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[backdrop-filter-clip-rect.html]
|
||||
expected: FAIL
|
|
@ -1,85 +0,0 @@
|
|||
[backdrop-filter-computed.html]
|
||||
[Property backdrop-filter value 'blur(10px) url("https://www.example.com/picture.svg#f") contrast(20) brightness(30)' computes to 'blur(10px) url("https://www.example.com/picture.svg#f") contrast(20) brightness(30)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'contrast()' computes to 'contrast(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'grayscale(50%)' computes to 'grayscale(0.5)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'opacity(100%)' computes to 'opacity(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'invert()' computes to 'invert(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'saturate(0)' computes to 'saturate(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'invert(0)' computes to 'invert(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'hue-rotate()' computes to 'hue-rotate(0deg)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'drop-shadow(1px 2px)' computes to 'drop-shadow(rgb(0, 255, 0) 1px 2px 0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'brightness(0)' computes to 'brightness(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'opacity()' computes to 'opacity(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'brightness(300%)' computes to 'brightness(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'blur()' computes to 'blur(0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'sepia()' computes to 'sepia(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'grayscale()' computes to 'grayscale(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'sepia(100%)' computes to 'sepia(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'sepia(0)' computes to 'sepia(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'brightness()' computes to 'brightness(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'invert(100%)' computes to 'invert(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'saturate(300%)' computes to 'saturate(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'hue-rotate(90deg)' computes to 'hue-rotate(90deg)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'contrast(0)' computes to 'contrast(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'none' computes to 'none']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'contrast(300%)' computes to 'contrast(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'drop-shadow(rgb(4, 5, 6) 1px 2px 0px)' computes to 'drop-shadow(rgb(4, 5, 6) 1px 2px 0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'opacity(0)' computes to 'opacity(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'saturate()' computes to 'saturate(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property backdrop-filter value 'blur(100px)' computes to 'blur(100px)']
|
||||
expected: FAIL
|
||||
|
|
@ -1,79 +1,31 @@
|
|||
[filter-computed.html]
|
||||
[Property filter value 'invert(0)' computes to 'invert(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'brightness(0)' computes to 'brightness(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'invert(100%)' computes to 'invert(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'sepia(0)' computes to 'sepia(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'saturate(0)' computes to 'saturate(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'contrast(0)' computes to 'contrast(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'hue-rotate(90deg)' computes to 'hue-rotate(90deg)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'brightness()' computes to 'brightness(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'blur(100px)' computes to 'blur(100px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'sepia()' computes to 'sepia(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'grayscale(50%)' computes to 'grayscale(0.5)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'saturate()' computes to 'saturate(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'grayscale()' computes to 'grayscale(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'contrast(300%)' computes to 'contrast(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'none' computes to 'none']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'brightness(300%)' computes to 'brightness(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'invert()' computes to 'invert(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'hue-rotate()' computes to 'hue-rotate(0deg)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'opacity(0)' computes to 'opacity(0)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'opacity(100%)' computes to 'opacity(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'drop-shadow(1px 2px)' computes to 'drop-shadow(rgb(0, 255, 0) 1px 2px 0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'sepia(100%)' computes to 'sepia(1)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'blur()' computes to 'blur(0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'drop-shadow(rgb(4, 5, 6) 1px 2px 0px)' computes to 'drop-shadow(rgb(4, 5, 6) 1px 2px 0px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'saturate(300%)' computes to 'saturate(3)']
|
||||
expected: FAIL
|
||||
|
||||
[Property filter value 'blur(10px) url("https://www.example.com/picture.svg#f") contrast(20) brightness(30)' computes to 'blur(10px) url("https://www.example.com/picture.svg#f") contrast(20) brightness(30)']
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -375,3 +375,12 @@
|
|||
[Geometry APIs interface IDL tests]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: calling scaleNonUniform(unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(unrestricted double, unrestricted double)" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: operation scaleNonUniform(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -98,3 +98,12 @@
|
|||
[interfaces]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: calling scaleNonUniform(unrestricted double, unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(unrestricted double, unrestricted double)" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[DOMMatrixReadOnly interface: operation scaleNonUniform(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
19
tests/wpt/metadata/css/selectors/invalidation/is.html.ini
Normal file
19
tests/wpt/metadata/css/selectors/invalidation/is.html.ini
Normal file
|
@ -0,0 +1,19 @@
|
|||
[is.html]
|
||||
[Invalidate :is() for compound selector arguments.]
|
||||
expected: FAIL
|
||||
|
||||
[Preconditions.]
|
||||
expected: FAIL
|
||||
|
||||
[Test specificity of :is().]
|
||||
expected: FAIL
|
||||
|
||||
[Invalidate :is() for complex selector arguments.]
|
||||
expected: FAIL
|
||||
|
||||
[Invalidate :is() for simple selector arguments.]
|
||||
expected: FAIL
|
||||
|
||||
[Invalidate nested :is().]
|
||||
expected: FAIL
|
||||
|
7
tests/wpt/metadata/css/selectors/is-nested.html.ini
Normal file
7
tests/wpt/metadata/css/selectors/is-nested.html.ini
Normal file
|
@ -0,0 +1,7 @@
|
|||
[is-nested.html]
|
||||
[Test nested :is() chooses highest specificity for class outside :is().]
|
||||
expected: FAIL
|
||||
|
||||
[Test nested :is() specificity for class within arguments.]
|
||||
expected: FAIL
|
||||
|
4
tests/wpt/metadata/css/selectors/is-specificity.html.ini
Normal file
4
tests/wpt/metadata/css/selectors/is-specificity.html.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[is-specificity.html]
|
||||
[Test :is() uses highest possible specificity]
|
||||
expected: FAIL
|
||||
|
|
@ -509,7 +509,7 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -532,7 +532,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[windows-1252: iso_8859-1:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
@ -606,5 +606,35 @@
|
|||
[windows-1256: windows-1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: x-cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: latin1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: cp1254 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: windows-1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: l5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: x-cp1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: l1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: windows-1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: us-ascii (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
||||
[single-byte-decoder.html?TextDecoder]
|
||||
|
|
|
@ -20,3 +20,15 @@
|
|||
["no-cors" Headers object cannot have accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 as header]
|
||||
expected: FAIL
|
||||
|
||||
["no-cors" Headers object cannot have content-type set to text/plain;ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, text/plain]
|
||||
expected: FAIL
|
||||
|
||||
["no-cors" Headers object cannot have accept set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss]
|
||||
expected: FAIL
|
||||
|
||||
["no-cors" Headers object cannot have accept-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss]
|
||||
expected: FAIL
|
||||
|
||||
["no-cors" Headers object cannot have content-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_5.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
|
||||
|
|
@ -9,3 +9,6 @@
|
|||
[document.open should throw an InvalidStateError with XML document even when the ignore-opens-during-unload counter is greater than 0 (during pagehide event)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open should throw an InvalidStateError with XML document even when there is an active parser executing script]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -12,3 +12,6 @@
|
|||
[Verifies the resolution of entry.startTime is at least 5 microseconds.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Verifies the resolution of performance.now() is at least 5 microseconds.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[no-quirks.html]
|
||||
[limited-quirks.html]
|
||||
[top: -\\31 .5]
|
||||
expected: FAIL
|
||||
|
|
@ -1,283 +0,0 @@
|
|||
[quirks.html]
|
||||
[top: -\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1A]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1a]
|
||||
expected: FAIL
|
||||
|
||||
[top: @1]
|
||||
expected: FAIL
|
||||
|
||||
[top: "1a"]
|
||||
expected: FAIL
|
||||
|
||||
[top: @a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: "1"]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -/**/1]
|
||||
expected: FAIL
|
||||
|
||||
[top: +/**/1]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: @1a]
|
||||
expected: FAIL
|
||||
|
||||
[top: 1\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[top: url('1')]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[top: calc(1)]
|
||||
expected: FAIL
|
||||
|
||||
[top: \\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: 1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #0001]
|
||||
expected: FAIL
|
||||
|
||||
[top: calc(2 * 2px)]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: 1a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: A]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #01]
|
||||
expected: FAIL
|
||||
|
||||
[top: +\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #1]
|
||||
expected: FAIL
|
||||
|
||||
[top: -/**/1]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: \\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: calc(1)]
|
||||
expected: FAIL
|
||||
|
||||
[top: #001]
|
||||
expected: FAIL
|
||||
|
||||
[top: +\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1.5]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: @a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: @1]
|
||||
expected: FAIL
|
||||
|
||||
[top: #1]
|
||||
expected: FAIL
|
||||
|
||||
[top: 1a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1A]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: "a"]
|
||||
expected: FAIL
|
||||
|
||||
[top: #00001]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[top: "1"]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: url('1')]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1.5]
|
||||
expected: FAIL
|
||||
|
||||
[top: \\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: "1a"]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: calc(2 * 2px)]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: 1\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +/**/1]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #00001]
|
||||
expected: FAIL
|
||||
|
||||
[top: url(1)]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #001]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1a]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1A]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: url(1)]
|
||||
expected: FAIL
|
||||
|
||||
[top: a]
|
||||
expected: FAIL
|
||||
|
||||
[top: A]
|
||||
expected: FAIL
|
||||
|
||||
[top: #000001]
|
||||
expected: FAIL
|
||||
|
||||
[top: 1]
|
||||
expected: FAIL
|
||||
|
||||
[top: 1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: 1]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: #000001]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +A]
|
||||
expected: FAIL
|
||||
|
||||
[top: 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[top: +A]
|
||||
expected: FAIL
|
||||
|
||||
[top: +a]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1.5]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1\\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1a]
|
||||
expected: FAIL
|
||||
|
||||
[top: +1A]
|
||||
expected: FAIL
|
||||
|
||||
[top: @1a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: \\31 .5]
|
||||
expected: FAIL
|
||||
|
||||
[top: "a"]
|
||||
expected: FAIL
|
||||
|
||||
[top: #01]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: +1.5]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -A]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -a]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[top: #0001]
|
||||
expected: FAIL
|
||||
|
||||
[bottom: -1]
|
||||
expected: FAIL
|
||||
|
||||
[top: -\\31 ]
|
||||
expected: FAIL
|
||||
|
||||
[top: -A]
|
||||
expected: FAIL
|
||||
|
||||
[top: -a]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1]
|
||||
expected: FAIL
|
||||
|
||||
[top: -1\\31 ]
|
||||
expected: FAIL
|
||||
|
|
@ -11,6 +11,12 @@
|
|||
[compileStreaming() synchronously followed by abort should reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
[compileStreaming() asynchronously racing with abort should succeed or reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
[instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[abort.any.html]
|
||||
[instantiateStreaming() on an already-aborted request should reject with AbortError]
|
||||
|
@ -25,3 +31,9 @@
|
|||
[compileStreaming() synchronously followed by abort should reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
[compileStreaming() asynchronously racing with abort should succeed or reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
[instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -149,12 +149,9 @@ tasks:
|
|||
${browser.name}
|
||||
${browser.channel};
|
||||
cd ~/web-platform-tests;
|
||||
result=0;
|
||||
./tools/ci/taskcluster-run.py
|
||||
--commit-range HEAD^
|
||||
${browser.name}
|
||||
--
|
||||
--channel=${browser.channel}
|
||||
${operation.extra_args} || result=$?;
|
||||
echo $result > ../artifacts/run-return-code.txt;
|
||||
echo "Command exited with code $result (failures are allowed while this task is being vetted)."
|
||||
${operation.extra_args};
|
||||
|
|
|
@ -51,8 +51,7 @@ matrix:
|
|||
apt:
|
||||
packages:
|
||||
- libnss3-tools
|
||||
env:
|
||||
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=firefox:nightly
|
||||
env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=firefox:nightly
|
||||
- name: "stability (Chrome Dev)"
|
||||
if: type = pull_request
|
||||
os: linux
|
||||
|
@ -62,8 +61,7 @@ matrix:
|
|||
packages:
|
||||
- libappindicator1
|
||||
- fonts-liberation
|
||||
env:
|
||||
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev
|
||||
env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev
|
||||
- name: "tools/ unittests (Python 2)"
|
||||
if: type = pull_request
|
||||
os: linux
|
||||
|
@ -103,6 +101,8 @@ matrix:
|
|||
- env: # exclude empty env from the top-level above
|
||||
allow_failures:
|
||||
- env: JOB=build_css SCRIPT=css/build-css-testsuites.sh
|
||||
- env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=firefox:nightly
|
||||
- env: JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev
|
||||
script:
|
||||
- ./tools/ci/run.sh
|
||||
cache:
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
|
||||
{ pKey: "primaryKey_1", iKey: "indexKey_1" } ];
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<script type="text/javascript">
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
|
||||
{ pKey: "primaryKey_1", iKey: "indexKey_1" } ];
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
|
||||
{ pKey: "primaryKey_1", iKey: "indexKey_1" },
|
||||
{ pKey: "primaryKey_1-2", iKey: "indexKey_1" } ],
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
|
||||
{ pKey: "primaryKey_1", iKey: "indexKey_1" },
|
||||
{ pKey: "primaryKey_1-2", iKey: "indexKey_1" },
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
|
||||
{ pKey: "primaryKey_1", iKey: "indexKey_1" },
|
||||
{ pKey: "primaryKey_1-2", iKey: "indexKey_1" },
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", obj: { iKey: "iKey_0" }},
|
||||
{ pKey: "primaryKey_1", obj: { iKey: "iKey_1" }},
|
||||
{ pKey: "primaryKey_2", obj: { iKey: "iKey_2" }} ],
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0", obj: { iKey: "iKey_0" }},
|
||||
{ pKey: "primaryKey_2", obj: { iKey: "iKey_2" }} ],
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0" },
|
||||
{ pKey: "primaryKey_1" },
|
||||
{ pKey: "primaryKey_2" } ],
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db,
|
||||
count = 0,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
records = [ { pKey: "primaryKey_0" },
|
||||
{ pKey: "primaryKey_2" } ],
|
||||
expected_records = [ { pKey: "primaryKey_0" },
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 600000}),
|
||||
t = async_test(document.title),
|
||||
open_rq = createdb(t)
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
var t = async_test(document.title, {timeout: 10000}),
|
||||
var t = async_test(document.title),
|
||||
open_rq = createdb(t)
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
var t = async_test(document.title, {timeout: 10000}),
|
||||
var t = async_test(document.title),
|
||||
keys = [],
|
||||
open_rq = createdb(t)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
open_rq = createdb(t);
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
<script>
|
||||
var db
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}), undefined, 9)
|
||||
var open_rq = createdb(async_test(document.title), undefined, 9)
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
db = e.target.result
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
var db, db2;
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}), undefined, 9);
|
||||
var open_rq = createdb(async_test(document.title), undefined, 9);
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
db = e.target.result;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<script>
|
||||
var db;
|
||||
var count_done = 0;
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}));
|
||||
var open_rq = createdb(async_test(document.title));
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
db = e.target.result;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
var db;
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}), undefined, 9);
|
||||
var open_rq = createdb(async_test(document.title), undefined, 9);
|
||||
var open2_t = async_test(document.title + " - second upgrade");
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script src="support.js"></script>
|
||||
|
||||
<script>
|
||||
createdb(async_test(document.title, {timeout: 10000})).onupgradeneeded = function(e) {
|
||||
createdb(async_test(document.title)).onupgradeneeded = function(e) {
|
||||
var store = e.target.result.createObjectStore("store");
|
||||
|
||||
assert_throws('InvalidAccessError', function() {
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
<script>
|
||||
var db,
|
||||
t_add = async_test("Adding one item with 1000 multiEntry keys", { timeout: 10000 }),
|
||||
t_get = async_test("Getting the one item by 1000 indeced keys ", { timeout: 10000 });
|
||||
t_add = async_test("Adding one item with 1000 multiEntry keys"),
|
||||
t_get = async_test("Getting the one item by 1000 indeced keys ");
|
||||
|
||||
var open_rq = createdb(t_add);
|
||||
var obj = { test: 'yo', idxkeys: [] };
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
var db,
|
||||
expected_keys = [1, 2, 2, 3, 3];
|
||||
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}))
|
||||
var open_rq = createdb(async_test(document.title))
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
db = e.target.result;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<script>
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
<script>
|
||||
var db, aborted,
|
||||
t = async_test(document.title, {timeout:19000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script>
|
||||
var db,
|
||||
events = [],
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<script>
|
||||
var db, aborted,
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
var db,
|
||||
events = [],
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
var db,
|
||||
events = [],
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
<script>
|
||||
var db,
|
||||
t = async_test(document.title, {timeout:19000}),
|
||||
t = async_test(document.title),
|
||||
now = new Date(),
|
||||
mar18 = new Date(1111111111111),
|
||||
ar = ["Yay", 2, -Infinity],
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
var db,
|
||||
add_success = false,
|
||||
t = async_test(document.title, {timeout: 10000})
|
||||
t = async_test(document.title)
|
||||
|
||||
var open_rq = createdb(t);
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script>
|
||||
var db, store,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
open_rq = createdb(t),
|
||||
stages = [];
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<script>
|
||||
var db, aborted,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
record = { indexedProperty: "bar" };
|
||||
|
||||
var open_rq = createdb(t);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
t.step(function() {
|
||||
var openrq = indexedDB.open('db', 3);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
objects = [1, null, {id: 2}, null, 2.00001, 5, null, {id: 6} ],
|
||||
expected = [1, 2, 2.00001, 3, 5, 6],
|
||||
errors = 0;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
|
||||
var db,
|
||||
t = async_test(document.title, {timeout: 10000}),
|
||||
t = async_test(document.title),
|
||||
overflow_error_fired = false,
|
||||
objects = [9007199254740991, null, "error", 2, "error" ],
|
||||
expected_keys = [2, 9007199254740991, 9007199254740992];
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
function keysort(desc, unsorted, expected) {
|
||||
var db,
|
||||
t = async_test("Database readback sort - " + desc, { timeout: 10000 }),
|
||||
t = async_test("Database readback sort - " + desc),
|
||||
store_name = 'store-' + Date.now() + Math.random();
|
||||
|
||||
// The database test
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<script>
|
||||
function keypath(keypath, objects, expected_keys, desc) {
|
||||
var db,
|
||||
t = async_test(document.title + " - " + (desc ? desc : keypath), { timeout: 10000 }),
|
||||
t = async_test(document.title + " - " + (desc ? desc : keypath)),
|
||||
open_rq = createdb(t);
|
||||
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script>
|
||||
var events = [];
|
||||
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}));
|
||||
var open_rq = createdb(async_test(document.title));
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
var db = e.target.result;
|
||||
var txn = e.target.transaction;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
var db, db_got_versionchange, db2,
|
||||
events = [],
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
t.step(function() {
|
||||
var openrq = indexedDB.open('db', 3);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
var db, db_got_versionchange, db2,
|
||||
events = [],
|
||||
t = async_test(document.title, {timeout: 10000});
|
||||
t = async_test(document.title);
|
||||
|
||||
t.step(function() {
|
||||
var openrq = indexedDB.open('db', 3);
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
var db, t = async_test(document.title, {timeout: 10000}),
|
||||
var db, t = async_test(document.title),
|
||||
keys = { txn: [], txn2: [] },
|
||||
open_rq = createdb(t)
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<script>
|
||||
var events = [];
|
||||
|
||||
var open_rq = createdb(async_test(document.title, {timeout: 10000}));
|
||||
var open_rq = createdb(async_test(document.title));
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
var db = e.target.result;
|
||||
var txn = e.target.transaction;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
var write_request_count = 0, write_success_count = 0;
|
||||
var RQ_COUNT = 25;
|
||||
|
||||
var open_rq = createdb(async_test(undefined, {timeout: 20000}));
|
||||
var open_rq = createdb(async_test(undefined));
|
||||
open_rq.onupgradeneeded = function(e) {
|
||||
db = e.target.result;
|
||||
db.createObjectStore("s")
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS box-shadow Test: <body> shadow should look the same regardless of background color</title>
|
||||
<link rel="author" title="fmalita" href="mailto:fmalita@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow">
|
||||
<link rel="match" href="reference/box-shadow-body-ref.html">
|
||||
<style type="text/css">
|
||||
body {
|
||||
position: relative;
|
||||
box-shadow: 0 0 0 4px red;
|
||||
height: 300px;
|
||||
width: 600px;
|
||||
margin: 20px auto;
|
||||
background-color: white;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS box-shadow Test Reference</title>
|
||||
<link rel="author" title="fmalita" href="mailto:fmalita@chromium.org">
|
||||
<style type="text/css">
|
||||
html {
|
||||
background-color: white;
|
||||
}
|
||||
body {
|
||||
position: relative;
|
||||
box-shadow: 0 0 0 4px red;
|
||||
height: 300px;
|
||||
width: 600px;
|
||||
margin: 20px auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
|
||||
<p>The word "PASS" should be seen below.</p>
|
||||
<div style="margin-left:2ch; font-family:monospace; line-height:50px;">
|
||||
<div style="float:left;">PA</div>
|
||||
<div style="float:left;">SS</div>
|
||||
</div>
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#unforced-breaks">
|
||||
<link rel="match" href="line-after-unbreakable-float-after-padding-ref.html">
|
||||
<p>The word "PASS" should be seen below.</p>
|
||||
<div style="columns:3; column-gap:0; column-fill:auto; font-family:monospace; line-height:50px; width:6ch; height:101px; orphans:1; widows:1;">
|
||||
<div style="padding-top:100px;">
|
||||
<div style="float:left; break-inside:avoid; width:100%; height:75px;">PA</div>
|
||||
SS
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,77 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#propdef-align-content" />
|
||||
<title>css-flexbox: Tests align-content with single-line flex-wrap: wrap</title>
|
||||
<style>
|
||||
.default {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
height: 70px;
|
||||
border: 1px solid red;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.default > div {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.verticalWriting {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
width: 70px;
|
||||
border: 1px solid red;
|
||||
margin: 5px;
|
||||
writing-mode: vertical-lr;
|
||||
}
|
||||
|
||||
.verticalWriting > div {
|
||||
width: 20px;
|
||||
}
|
||||
</style>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
</head>
|
||||
<body onload="checkLayout('.default, .verticalWriting'); ">
|
||||
<div id=log></div>
|
||||
<p>Test that we honor align-content even in single-line flex containers</p>
|
||||
<div class="default" style="align-content: flex-start">
|
||||
<div data-offset-y="0">This text should be at the top of its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: flex-end">
|
||||
<div data-offset-y="50">This text should be at the bottom of its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: center">
|
||||
<div data-offset-y="25">This text should be centered in its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: space-between">
|
||||
<div data-offset-y="0">This text should be at the top of its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: space-around">
|
||||
<div data-offset-y="25">This text should be centered in its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: space-evenly">
|
||||
<div data-offset-y="25">This text should be centered in its container</div>
|
||||
</div>
|
||||
<div class="default" style="align-content: stretch">
|
||||
<div data-offset-y="0">This text should be at the top of its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: flex-start">
|
||||
<div data-offset-x="0">This text should be at the left of its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: flex-end">
|
||||
<div data-offset-x="50">This text should be at the right of its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: center">
|
||||
<div data-offset-x="25">This text should be centered in its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: space-between">
|
||||
<div data-offset-x="0">This text should be at the left of its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: space-around">
|
||||
<div data-offset-x="25">This text should be centered in its container</div>
|
||||
</div>
|
||||
<div class="verticalWriting" style="align-content: stretch">
|
||||
<div data-offset-x="0">This text should be at the left of its container</div>
|
||||
</div>
|
|
@ -0,0 +1,108 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#propdef-align-content" />
|
||||
<title>css-flexbox: Tests align-content with flex-wrap: wrap</title>
|
||||
<style>
|
||||
.flex-horizontal {
|
||||
width:600px;
|
||||
display:flex;
|
||||
height:100px;
|
||||
background:gray;
|
||||
margin-bottom:100px;
|
||||
}
|
||||
.flex-vertical {
|
||||
width:100px;
|
||||
display:flex;
|
||||
flex-direction: column;
|
||||
height:600px;
|
||||
background:gray;
|
||||
margin-top:200px;
|
||||
margin-bottom:100px;
|
||||
}
|
||||
.item-horizontal {
|
||||
width:150px;
|
||||
background:yellow;
|
||||
margin:10px;
|
||||
flex:none;
|
||||
}
|
||||
.item-vertical {
|
||||
height:150px;
|
||||
background:yellow;
|
||||
margin:10px;
|
||||
flex:none;
|
||||
}
|
||||
.content1-horizontal {
|
||||
width:100px;
|
||||
height:150px;
|
||||
background:red;
|
||||
}
|
||||
.content2-horizontal {
|
||||
width:100px;
|
||||
height:100px;
|
||||
background:red;
|
||||
}
|
||||
.content3-horizontal {
|
||||
width:100px;
|
||||
height:50px;
|
||||
background:red;
|
||||
}
|
||||
.content1-vertical {
|
||||
width:150px;
|
||||
height:100px;
|
||||
background:red;
|
||||
}
|
||||
.content2-vertical {
|
||||
width:100px;
|
||||
height:100px;
|
||||
background:red;
|
||||
}
|
||||
.content3-vertical {
|
||||
width:50px;
|
||||
height:100px;
|
||||
background:red;
|
||||
}
|
||||
</style>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
<body onload="checkLayout('.flex-horizontal, .flex-vertical');">
|
||||
<div id=log></div>
|
||||
<p>Test for crbug.com/362848: Flex box word-wrap is not adhering to spec</p>
|
||||
<div class="flex-horizontal">
|
||||
<div class="item-horizontal" data-expected-height="80"><div class="content1-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="80"><div class="content2-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="80"><div class="content3-horizontal"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flex-horizontal" style="flex-wrap:wrap;">
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content1-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content2-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content3-horizontal"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flex-horizontal" style="flex-wrap:wrap;">
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content1-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content2-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content3-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content1-horizontal"></div></div>
|
||||
<div class="item-horizontal" data-expected-height="150"><div class="content2-horizontal"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flex-vertical">
|
||||
<div class="item-vertical" data-expected-width="80"><div class="content1-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="80"><div class="content2-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="80"><div class="content3-vertical"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flex-vertical" style="flex-wrap:wrap;">
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content1-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content2-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content3-vertical"></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flex-vertical" style="flex-wrap:wrap;">
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content1-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content2-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content3-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content1-vertical"></div></div>
|
||||
<div class="item-vertical" data-expected-width="150"><div class="content2-vertical"></div></div>
|
||||
</div>
|
|
@ -0,0 +1,330 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#propdef-align-content" />
|
||||
<title>css-flexbox: Tests align-content with flex-wrap: wrap</title>
|
||||
<style>
|
||||
.flexbox {
|
||||
display: flex;
|
||||
background-color: #aaa;
|
||||
position: relative;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.horizontal {
|
||||
width: 200px;
|
||||
height: 120px;
|
||||
}
|
||||
.horizontal > div {
|
||||
min-height: 20px;
|
||||
}
|
||||
.horizontal > :nth-child(1) {
|
||||
width: 100px;
|
||||
min-height: 10px;
|
||||
}
|
||||
.horizontal > :nth-child(2) {
|
||||
width: 100px;
|
||||
}
|
||||
.horizontal > :nth-child(3) {
|
||||
width: 200px;
|
||||
}
|
||||
.horizontal > :nth-child(4) {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.vertical-rl {
|
||||
writing-mode: vertical-rl;
|
||||
width: 120px;
|
||||
height: 20px;
|
||||
}
|
||||
.vertical-rl > div {
|
||||
min-width: 20px;
|
||||
}
|
||||
.vertical-rl > :nth-child(1) {
|
||||
height: 10px;
|
||||
min-width: 10px;
|
||||
}
|
||||
.vertical-rl > :nth-child(2) {
|
||||
height: 10px;
|
||||
}
|
||||
.vertical-rl > :nth-child(3) {
|
||||
height: 20px;
|
||||
}
|
||||
.vertical-rl > :nth-child(4) {
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.flexbox :nth-child(1) {
|
||||
background-color: lightblue;
|
||||
}
|
||||
.flexbox :nth-child(2) {
|
||||
background-color: lightgreen;
|
||||
}
|
||||
.flexbox :nth-child(3) {
|
||||
background-color: pink;
|
||||
}
|
||||
.flexbox :nth-child(4) {
|
||||
background-color: yellow;
|
||||
}
|
||||
</style>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
<body onload="checkLayout('.flexbox')">
|
||||
<div id=log></div>
|
||||
<p>Test to make sure that align-content works properly.</p>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="40"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="40" data-expected-height="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="80" data-expected-height="40"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: flex-start">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: flex-end">
|
||||
<div data-offset-x="0" data-offset-y="60" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="60" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="80" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="100" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: center">
|
||||
<div data-offset-x="0" data-offset-y="30" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="30" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="70" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-between">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="100" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-evenly">
|
||||
<div data-offset-x="0" data-offset-y="15" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="15" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="85" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: space-around">
|
||||
<div data-offset-x="0" data-offset-y="10" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="10" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="50" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="90" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-height="120" class="flexbox horizontal" style="align-content: stretch">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="40"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="40" data-expected-height="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="80" data-expected-height="40"></div>
|
||||
</div>
|
||||
|
||||
<!-- Negative overflow goes out the top. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: flex-end; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="-30" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="-30" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="-10" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="10" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: center; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should be the same as flex-start. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="-15" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="5" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="25" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- Stretch should only grow, not shrink. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="20" data-expected-height="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="40" data-expected-height="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- 0 lines should not crash. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
|
||||
</div>
|
||||
|
||||
<!-- 1 line should not crash. -->
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-between; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="10"></div>
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-around; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="10" data-expected-height="10"></div>
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: space-evenly; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="10" data-expected-height="10"></div>
|
||||
</div>
|
||||
<div data-expected-height="30" class="flexbox horizontal" style="align-content: stretch; height: 30px">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-height="30"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl">
|
||||
<div data-offset-x="80" data-offset-y="0" data-expected-width="40"></div>
|
||||
<div data-offset-x="80" data-offset-y="10" data-expected-width="40"></div>
|
||||
<div data-offset-x="40" data-offset-y="0" data-expected-width="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="40"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: flex-start">
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="80" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="60" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: flex-end">
|
||||
<div data-offset-x="40" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="40" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="20" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: center">
|
||||
<div data-offset-x="70" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="70" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="30" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-between">
|
||||
<div data-offset-x="100" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="100" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-around">
|
||||
<div data-offset-x="90" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="90" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: space-evenly">
|
||||
<div data-offset-x="85" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="85" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="50" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="15" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<div data-expected-width="120" class="flexbox vertical-rl" style="align-content: stretch">
|
||||
<div data-offset-x="80" data-offset-y="0" data-expected-width="40"></div>
|
||||
<div data-offset-x="80" data-offset-y="10" data-expected-width="40"></div>
|
||||
<div data-offset-x="40" data-offset-y="0" data-expected-width="40"></div>
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="40"></div>
|
||||
</div>
|
||||
|
||||
<!-- Negative overflow goes out the right. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: flex-end; width: 30px;">
|
||||
<div data-offset-x="40" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="40" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="20" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: center; width: 30px;">
|
||||
<div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should be the same as flex-start. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px;">
|
||||
<div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="10" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="-10" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="-30" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px;">
|
||||
<div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- If we overflow, we should true center. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px;">
|
||||
<div data-offset-x="25" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="25" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="5" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="-15" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- Stretch should only grow, not shrink. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px;">
|
||||
<div data-offset-x="10" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="10" data-offset-y="10" data-expected-width="20"></div>
|
||||
<div data-offset-x="-10" data-offset-y="0" data-expected-width="20"></div>
|
||||
<div data-offset-x="-30" data-offset-y="0" data-expected-width="20"></div>
|
||||
</div>
|
||||
|
||||
<!-- 0 lines should not crash. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px">
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px">
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px">
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px">
|
||||
</div>
|
||||
|
||||
<!-- 1 line should not crash. -->
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-between; width: 30px">
|
||||
<div data-offset-x="20" data-offset-y="0" data-expected-width="10"></div>
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-around; width: 30px">
|
||||
<div data-offset-x="10" data-offset-y="0" data-expected-width="10"></div>
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: space-evenly; width: 30px">
|
||||
<div data-offset-x="10" data-offset-y="0" data-expected-width="10"></div>
|
||||
</div>
|
||||
<div data-expected-width="30" class="flexbox vertical-rl" style="align-content: stretch; width: 30px">
|
||||
<div data-offset-x="0" data-offset-y="0" data-expected-width="30"></div>
|
||||
</div>
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Google LLC" href="http://www.google.com" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#cross-sizing" />
|
||||
<title>css-flexbox: Tests that we size items in a wrapping column flexbox as fit-content</title>
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
|
||||
|
||||
<style>
|
||||
.flex {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: center;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
width: 100px;
|
||||
line-height: 1;
|
||||
}
|
||||
.flex > div {
|
||||
min-height: 0;
|
||||
background: green;
|
||||
}
|
||||
.flex * {
|
||||
vertical-align: top;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
|
||||
<div class="flex">
|
||||
<div style="align-self: stretch;">
|
||||
<div style="display: inline-block; width: 20px; height: 40px;"></div>
|
||||
</div>
|
||||
<div style="height: 60px;">
|
||||
<div style="display: inline-block; height: 15px; width: 20px;"></div>
|
||||
<div style="display: inline-block; height: 15px; width: 100px;"></div>
|
||||
<div style="display: inline-block; height: 15px; width: 100px;"></div>
|
||||
<div style="display: inline-block; height: 15px; width: 100px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,61 @@
|
|||
<!DOCTYPE HTML>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<html><head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Reference: align/justify-self on range INPUT items</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:16px/1 monospace;
|
||||
}
|
||||
|
||||
input {
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none; /* NOTE: On Windows, GetWidgetBorder returns 1px on all sides,
|
||||
so we need the next declaration for the width/height to match: */
|
||||
box-sizing: border-box;
|
||||
width:300px;
|
||||
height:80px;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: inline-grid;
|
||||
grid: 80px / 300px;
|
||||
place-items: stretch;
|
||||
border:1px solid;
|
||||
}
|
||||
|
||||
.zero { grid:0/0; }
|
||||
.zero input { width:0; height:0; }
|
||||
|
||||
.none input { -webkit-appearance:none; }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="grid"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
|
||||
<div class="none">
|
||||
<div class="grid"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range style="place-self:normal"></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE HTML>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<html><head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Test: align/justify-self on range INPUT items</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-align-3/#align-self-property">
|
||||
<link rel="match" href="grid-self-alignment-stretch-input-range-ref.html">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:16px/1 monospace;
|
||||
}
|
||||
|
||||
input {
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: inline-grid;
|
||||
grid: 80px / 300px;
|
||||
place-items: stretch;
|
||||
border:1px solid;
|
||||
}
|
||||
|
||||
.zero { grid:0/0; }
|
||||
|
||||
.none input { -webkit-appearance:none; }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="grid"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
|
||||
<div class="none">
|
||||
<div class="grid"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range></div>
|
||||
<br>
|
||||
<div class="grid"><input type=range style="place-self:normal"></div>
|
||||
<br>
|
||||
<div class="grid zero"><input type=range style="place-self:normal"></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -4,6 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<style>
|
||||
.container {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
background: grey;
|
||||
}
|
||||
|
@ -32,7 +33,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-model">
|
||||
<link rel="match" href="grid-container-scrollbar-001-ref.html">
|
||||
<meta name="assert" content="This test verifes that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<meta name="assert" content="This test verifies that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
.grid {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
|
@ -29,7 +30,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<style>
|
||||
.container {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
background: grey;
|
||||
writing-mode: vertical-lr;
|
||||
|
@ -33,7 +34,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-model">
|
||||
<link rel="match" href="grid-container-scrollbar-vertical-lr-001-ref.html">
|
||||
<meta name="assert" content="This test verifes that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<meta name="assert" content="This test verifies that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
.grid {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
writing-mode: vertical-lr;
|
||||
}
|
||||
|
@ -30,7 +31,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<style>
|
||||
.container {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
background: grey;
|
||||
writing-mode: vertical-rl;
|
||||
|
@ -33,7 +34,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-model">
|
||||
<link rel="match" href="grid-container-scrollbar-vertical-rl-001-ref.html">
|
||||
<meta name="assert" content="This test verifes that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<meta name="assert" content="This test verifies that scrollbars are properly painted on grid containers, and are shown in the expected position depending on the direction.">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
.grid {
|
||||
font: 10px/1 Ahem;
|
||||
margin: 10px;
|
||||
writing-mode: vertical-rl;
|
||||
}
|
||||
|
@ -30,7 +31,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if it has the same output than the reference.</p>
|
||||
<p>The test passes if it has the same output as the reference.</p>
|
||||
|
||||
<div style="float: left; width: 350px;">
|
||||
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS Logical Values: Flow-Relative Values for the 'float' property</title>
|
||||
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css-logical/#float-clear">
|
||||
<meta name="assert" content="This test checks that the 'inline-start' and 'inline-end' values of the 'float' and 'clear' properties map to the correct physical value." />
|
||||
<link rel="match" href="reference/logical-values-float-clear-reftest-ref.html">
|
||||
<style>
|
||||
.test {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width: 300px;
|
||||
}
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
.float, .clear {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 3px;
|
||||
width: 100px;
|
||||
background: #f0f;
|
||||
}
|
||||
.clear {
|
||||
background: #0ff;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
const sides = ["inline-start", "inline-end"];
|
||||
const directions = ["ltr", "rtl"];
|
||||
for (const floatSide of sides) {
|
||||
for (const clearSide of sides) {
|
||||
for (const containerDirection of directions) {
|
||||
for (const inlineParentDirection of [null, ...directions]) {
|
||||
for (const floatDirection of directions) {
|
||||
for (const clearDirection of directions) {
|
||||
const containerEl = document.createElement("div");
|
||||
containerEl.className = "test";
|
||||
containerEl.style.direction = containerDirection;
|
||||
const floatEl = document.createElement("div");
|
||||
floatEl.className = "float";
|
||||
floatEl.style.direction = floatDirection;
|
||||
floatEl.style.float = floatSide;
|
||||
const clearEl = document.createElement("div");
|
||||
clearEl.className = "clear";
|
||||
clearEl.style.direction = floatDirection;
|
||||
clearEl.style.clear = clearSide;
|
||||
if (inlineParentDirection) {
|
||||
const inlineParent = document.createElement("div");
|
||||
inlineParent.className = "inline";
|
||||
inlineParent.style.direction = inlineParentDirection;
|
||||
inlineParent.appendChild(floatEl);
|
||||
inlineParent.appendChild(clearEl);
|
||||
containerEl.appendChild(inlineParent);
|
||||
} else {
|
||||
containerEl.appendChild(floatEl);
|
||||
containerEl.appendChild(clearEl);
|
||||
}
|
||||
document.body.appendChild(containerEl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS Reftest Reference</title>
|
||||
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
|
||||
<style>
|
||||
.test {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width: 300px;
|
||||
}
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
.float, .clear {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 3px;
|
||||
width: 100px;
|
||||
background: #f0f;
|
||||
}
|
||||
.clear {
|
||||
background: #0ff;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
function physicalValue(value, containerDirection) {
|
||||
return ((value === "inline-start") === (containerDirection === "ltr")) ? "left" : "right";
|
||||
}
|
||||
const sides = ["inline-start", "inline-end"];
|
||||
const directions = ["ltr", "rtl"];
|
||||
for (const floatSide of sides) {
|
||||
for (const clearSide of sides) {
|
||||
for (const containerDirection of directions) {
|
||||
for (const inlineParentDirection of [null, ...directions]) {
|
||||
for (const floatDirection of directions) {
|
||||
for (const clearDirection of directions) {
|
||||
const containerEl = document.createElement("div");
|
||||
containerEl.className = "test";
|
||||
containerEl.style.direction = containerDirection;
|
||||
const floatEl = document.createElement("div");
|
||||
floatEl.className = "float";
|
||||
floatEl.style.direction = floatDirection;
|
||||
floatEl.style.float = physicalValue(floatSide, containerDirection);
|
||||
const clearEl = document.createElement("div");
|
||||
clearEl.className = "clear";
|
||||
clearEl.style.direction = floatDirection;
|
||||
clearEl.style.clear = physicalValue(clearSide, containerDirection);
|
||||
if (inlineParentDirection) {
|
||||
const inlineParent = document.createElement("div");
|
||||
inlineParent.className = "inline";
|
||||
inlineParent.style.direction = inlineParentDirection;
|
||||
inlineParent.appendChild(floatEl);
|
||||
inlineParent.appendChild(clearEl);
|
||||
containerEl.appendChild(inlineParent);
|
||||
} else {
|
||||
containerEl.appendChild(floatEl);
|
||||
containerEl.appendChild(clearEl);
|
||||
}
|
||||
document.body.appendChild(containerEl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
|
@ -21,27 +21,7 @@ export function runTests(property, values) {
|
|||
style.cssText = "";
|
||||
style.setProperty(property, value);
|
||||
testCSSValues("logical values in inline style", style, [[property, value]]);
|
||||
testComputedValues("logical values in computed style", style, [[property, value]]);
|
||||
}, `Test that '${property}: ${value}' is supported.`);
|
||||
|
||||
const camelCase = value.replace(/-(.)/g, (match, $1) => $1.toUpperCase());
|
||||
for (const writingMode of writingModes) {
|
||||
for (const style of writingMode.styles) {
|
||||
const writingModeDecl = makeDeclaration(style);
|
||||
test(function() {
|
||||
const physicalSide = writingMode[camelCase];
|
||||
let expected;
|
||||
if (physicalSide === writingMode.lineLeft) {
|
||||
expected = "left";
|
||||
} else if (physicalSide === writingMode.lineRight) {
|
||||
expected = "right";
|
||||
} else {
|
||||
expected = physicalSide;
|
||||
}
|
||||
testComputedValues(`computed value`,
|
||||
`.test { ${writingModeDecl} }`,
|
||||
[[property, expected]]);
|
||||
}, `Test '${property}: ${value}' with '${writingModeDecl}'.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="./resources/utils.js"></script>
|
||||
<style>
|
||||
div {
|
||||
--registered-length-1: 10px;
|
||||
|
@ -135,4 +136,38 @@ test(function(){
|
|||
element.style = '';
|
||||
}, 'Lists with relative units are absolutized when substituting');
|
||||
|
||||
function test_valid_fallback(syntax, value, fallback) {
|
||||
test(function(){
|
||||
let name = generate_property(syntax);
|
||||
try {
|
||||
element.style = `${name}: ${value}; --x:var(${name},${fallback})`;
|
||||
let computedStyle = getComputedStyle(element);
|
||||
assert_equals(computedStyle.getPropertyValue('--x'), value);
|
||||
} finally {
|
||||
element.style = '';
|
||||
}
|
||||
}, `Valid fallback does not invalidate var()-reference [${syntax}, ${fallback}]`);
|
||||
}
|
||||
|
||||
function test_invalid_fallback(syntax, value, fallback) {
|
||||
test(function(){
|
||||
let name = generate_property(syntax);
|
||||
try {
|
||||
element.style = `${name}: ${value}; --x:var(${name},${fallback})`;
|
||||
let computedStyle = getComputedStyle(element);
|
||||
assert_equals(computedStyle.getPropertyValue('--x'), '');
|
||||
} finally {
|
||||
element.style = '';
|
||||
}
|
||||
}, `Invalid fallback invalidates var()-reference [${syntax}, ${fallback}]`);
|
||||
}
|
||||
|
||||
test_valid_fallback('<length>', '40px', '10px');
|
||||
test_valid_fallback('<length> | <color>', '40px', 'red');
|
||||
test_valid_fallback('<length> | none', '40px', 'none');
|
||||
|
||||
test_invalid_fallback('<length>', '40px', 'red');
|
||||
test_invalid_fallback('<length> | none', '40px', 'nolength');
|
||||
test_invalid_fallback('<length>', '40px', 'var(--novar)');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<!doctype html>
|
||||
<html lang=en>
|
||||
<meta charset=utf-8>
|
||||
<title>CSS test reference</title>
|
||||
<link rel=author title="Ambrose Li" href="http://port.ambroseli.ca/">
|
||||
<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
|
||||
|
||||
<p>The test passes if the word pairs below are all displayed in the same font.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>ping4 on1
|
||||
<td>salaam
|
||||
<td>shalom
|
||||
<tr>
|
||||
<td>ping4 on1
|
||||
<td>salaam
|
||||
<td>shalom
|
||||
</table>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!doctype html>
|
||||
<html lang=en>
|
||||
<meta charset=utf-8>
|
||||
<title>CSS test reference</title>
|
||||
<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
|
||||
<style>
|
||||
div {
|
||||
font-family: monospace;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>The test passes if the first line below ends with a hyphen.
|
||||
|
||||
<div lang=ja-Latn>Fushimi‐<br>ku</div>
|
|
@ -0,0 +1,11 @@
|
|||
<!doctype html>
|
||||
<html lang=en>
|
||||
<meta charset=utf-8>
|
||||
<title>CSS test reference</title>
|
||||
<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
|
||||
<style>
|
||||
</style>
|
||||
|
||||
<p>The test passes if the question mark in the phrase below is alone on the second line.
|
||||
|
||||
<div lang=en-Hrkt>ハロー、ハウアーユー<br>?</div>
|
|
@ -0,0 +1,10 @@
|
|||
<!doctype html>
|
||||
<html lang=en>
|
||||
<meta charset=utf-8>
|
||||
<title>CSS test reference</title>
|
||||
<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
|
||||
|
||||
<p>The test passes if the both lines are identical, including the spacing of the characters.
|
||||
|
||||
<div lang=ain-Kana>“アイヌイタㇰ”</div>
|
||||
<div lang=ain-Kana>“アイヌイタㇰ”</div>
|
|
@ -0,0 +1,13 @@
|
|||
<!doctype html>
|
||||
<html lang=en>
|
||||
<meta charset=utf-8>
|
||||
<title>CSS test reference</title>
|
||||
<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
|
||||
<style>
|
||||
div {
|
||||
font-size: 3em;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if the two words below are identical: there must be a dot on the “i” letter at the beginning of the word.
|
||||
<div lang=tr-Cyrl>iстанбул</div>
|
||||
<div lang=tr-Cyrl>iстанбул</div>
|
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