mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision 097043b336e46876e281ddec3bb014fe9c480128
This commit is contained in:
parent
ecd32570c0
commit
b68253eac0
405 changed files with 9164 additions and 3050 deletions
|
@ -7,7 +7,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,2 @@
|
|||
[mix-blend-mode-animation.html]
|
||||
expected: FAIL
|
|
@ -53,3 +53,9 @@
|
|||
[Property font-kerning inherits]
|
||||
expected: FAIL
|
||||
|
||||
[Property font-variation-settings inherits]
|
||||
expected: FAIL
|
||||
|
||||
[Property font-variation-settings has initial value normal]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
[font-variation-settings-computed.html]
|
||||
[Property font-variation-settings value 'normal' computes to 'normal']
|
||||
expected: FAIL
|
||||
|
||||
[Property font-variation-settings value '"wght" 700' computes to '"wght" 700']
|
||||
expected: FAIL
|
||||
|
||||
[Property font-variation-settings value '"wght" 700, "XHGT" 0.7' computes to '"wght" 700, "XHGT" 0.7']
|
||||
expected: FAIL
|
||||
|
||||
[Property font-variation-settings value '"XHGT" calc(0.4 + 0.3)' computes to '"XHGT" 0.7']
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
[font-variation-settings-valid.html]
|
||||
[e.style['font-variation-settings'\] = "\\"wght\\" 700" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['font-variation-settings'\] = "\\"a cd\\" 0.5" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['font-variation-settings'\] = "\\"ab@d\\" 0.5" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['font-variation-settings'\] = "normal" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['font-variation-settings'\] = "\\"wght\\" 700, \\"XHGT\\" 0.7" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
@ -509,3 +509,15 @@
|
|||
[border-left-width length(pt) / values]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(mm) / values]
|
||||
expected: FAIL
|
||||
|
||||
[margin-top length(px) / values]
|
||||
expected: FAIL
|
||||
|
||||
[padding-left length(pt) / values]
|
||||
expected: FAIL
|
||||
|
||||
[padding-left length(pc) / values]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
[scroll-behavior-computed.html]
|
||||
[Property scroll-behavior value 'smooth' computes to 'smooth']
|
||||
expected: FAIL
|
||||
|
||||
[Property scroll-behavior value 'auto' computes to 'auto']
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[scroll-behavior-valid.html]
|
||||
[e.style['scroll-behavior'\] = "auto" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['scroll-behavior'\] = "smooth" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
@ -315,24 +315,24 @@
|
|||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,3 +56,6 @@
|
|||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,3 +11,6 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,24 @@
|
|||
[open-features-negative-innerwidth-innerheight.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=-404.5" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404.5" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=-404e1" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=-404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404e1" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,24 @@
|
|||
[open-features-negative-screenx-screeny.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=-204" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-204" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-204.5" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-0" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=-0" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=-204.5" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,24 @@
|
|||
[open-features-negative-top-left.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for `top`, `left`]
|
||||
expected: FAIL
|
||||
|
||||
[features "top=-204" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=-204.5" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-204" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=-0" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-204.5" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-0" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,24 @@
|
|||
[open-features-negative-width-height.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for `width`, `height`]
|
||||
expected: FAIL
|
||||
|
||||
[features "height=-404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=-404e1" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=-404.5" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=-404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=-404e1" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=-404.5" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,48 @@
|
|||
[open-features-non-integer-height.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `height`]
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405*3" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405.32" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405e1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405/5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405^4" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405.5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405e-1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405 " should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=405LLl" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0: absence of feature "height" should be treated same as "height=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
[open-features-non-integer-innerheight.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405e-1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405LLl" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405^4" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405e1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405 " should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405/5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405.32" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405.5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=405*3" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
[open-features-non-integer-innerwidth.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405e-1" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405*3" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405.5" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405e1" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405.32" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405 " should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405LLl" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405/5" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=405^4" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=/404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=_404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=L404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
[open-features-non-integer-left.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `left`]
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105e1" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105 " should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105/5" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105e-1" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105^4" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105LLl" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105.32" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105*3" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=105.5" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=L104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=/104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=_104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
[open-features-non-integer-screenx.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105.5" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105e1" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105 " should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105*3" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105e-1" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105^4" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105LLl" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105/5" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=105.32" should set "left=105"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=_104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=L104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=/104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,42 @@
|
|||
[open-features-non-integer-screeny.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405^4" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405e-1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405LLl" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405e1" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405 " should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405/5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405*3" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405.32" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=405.5" should set "height=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,32 +1,48 @@
|
|||
[open-features-non-integer-width.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `width`]
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405^4" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405.5" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405e1" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405 " should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405.32" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405LLl" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405*3" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405e-1" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=405/5" should set "width=405"]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0: absence of feature "width" should be treated same as "width=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=_404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=/404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=L404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
[align.html]
|
||||
[align=middle on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=absmiddle on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=top on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=texttop on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=left on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=center on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=absbottom on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=abscenter on replaced elements]
|
||||
expected: FAIL
|
||||
|
||||
[align=right on replaced elements]
|
||||
expected: FAIL
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
[form-submission-algorithm.html]
|
||||
expected: TIMEOUT
|
||||
[If form's firing submission events is true, then return; 'submit' event]
|
||||
expected: FAIL
|
||||
|
||||
[If form's firing submission events is true, then return; 'invalid' event]
|
||||
expected: FAIL
|
||||
|
||||
[Cannot navigate (after constructing the entry list)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
[toggleEvent.html]
|
||||
[Calling open twice on 'details' fires only one toggle event]
|
||||
expected: FAIL
|
||||
|
||||
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[iframe-inheritance-data.html]
|
||||
[iframes with data url uses no referrer]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[iframe-inheritance-srcdoc-child.html]
|
||||
expected: TIMEOUT
|
||||
[iframes srcdoc child correctly inherit the ancestor's referrer policy]
|
||||
expected: NOTRUN
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[iframe-inheritance-srcdoc.html]
|
||||
expected: TIMEOUT
|
||||
[iframes srcdoc correctly inherit the ancestor's referrer policy]
|
||||
expected: NOTRUN
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -152,3 +152,9 @@
|
|||
[X SNR (-379.8758083905784 dB) is not greater than or equal to 65.737. Got -379.8758083905784.]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (-36.33203143920875 dB) is not greater than or equal to 65.737. Got -36.33203143920875.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 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.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t9.4836157560348511e-1\t9.5236867666244507e-1\t4.0071010589599609e-3\t4.2075103446311962e-3\t3.8985999999999999e-3\n\t[31\]\t9.2646563053131104e-1\t9.3139332532882690e-1\t4.9276947975158691e-3\t5.2906700783754857e-3\t3.8985999999999999e-3\n\t[32\]\t9.0087991952896118e-1\t9.0675884485244751e-1\t5.8789253234863281e-3\t6.4834496590358351e-3\t3.8985999999999999e-3\n\t[33\]\t8.7170630693435669e-1\t8.7856203317642212e-1\t6.8557262420654297e-3\t7.8033490899654511e-3\t3.8985999999999999e-3\n\t[34\]\t8.3906102180480957e-1\t8.4691369533538818e-1\t7.8526735305786133e-3\t9.2721059699818163e-3\t3.8985999999999999e-3\n\t...and 31037 more errors.\n\tMax AbsError of 9.7228890145421028e+3 at index of 39267.\n\t[39267\]\t9.7219062500000000e+3\t-9.8276454210281372e-1\t9.7228890145421028e+3\t9.8934064040793655e+3\t3.8985999999999999e-3\n\tMax RelError of 9.8934064040793655e+3 at index of 39267.\n\t[39267\]\t9.7219062500000000e+3\t-9.8276454210281372e-1\t9.7228890145421028e+3\t9.8934064040793655e+3\t3.8985999999999999e-3\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -23,3 +23,6 @@
|
|||
[test_abort_by_user_prompt_twice[alert\]]
|
||||
expected: FAIL
|
||||
|
||||
[test_override_listeners]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[xrInputSource_profiles.https.html]
|
||||
[WebXR InputSource's profiles list can be set]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[xrWebGLLayer_constructor.https.html]
|
||||
expected: ERROR
|
||||
[Ensure that XRWebGLLayer's constructor throws appropriate errors]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -19,3 +19,14 @@ action "website-build-and-publish" {
|
|||
runs = ["/bin/bash", "tools/ci/website_build.sh"]
|
||||
secrets = ["DEPLOY_TOKEN"]
|
||||
}
|
||||
|
||||
workflow "Synchronize the Pull Request Preview" {
|
||||
on = "pull_request"
|
||||
resolves = "update-pr-preview"
|
||||
}
|
||||
|
||||
action "update-pr-preview" {
|
||||
uses = "./tools/docker/github"
|
||||
runs = ["python", "tools/ci/update_pr_preview.py", "https://api.github.com"]
|
||||
secrets = ["GITHUB_TOKEN"]
|
||||
}
|
||||
|
|
|
@ -57,6 +57,57 @@ def dump_test_parameters(selection):
|
|||
selection, indent=2, separators=(',', ': '), sort_keys=True)
|
||||
|
||||
|
||||
def get_test_filename(config, selection):
|
||||
'''Returns the filname for the main test HTML file'''
|
||||
|
||||
selection_for_filename = copy.deepcopy(selection)
|
||||
# Use 'unset' rather than 'None' in test filenames.
|
||||
if selection_for_filename['delivery_value'] is None:
|
||||
selection_for_filename['delivery_value'] = 'unset'
|
||||
|
||||
return os.path.join(config.spec_directory,
|
||||
config.test_file_path_pattern % selection_for_filename)
|
||||
|
||||
|
||||
def handle_deliveries(policy_deliveries):
|
||||
'''
|
||||
Generate <meta> elements and HTTP headers for the given list of
|
||||
PolicyDelivery.
|
||||
TODO(hiroshige): Merge duplicated code here, scope/document.py, etc.
|
||||
'''
|
||||
|
||||
meta = ''
|
||||
headers = {}
|
||||
|
||||
for delivery in policy_deliveries:
|
||||
if delivery.value is None:
|
||||
continue
|
||||
if delivery.key == 'referrerPolicy':
|
||||
if delivery.delivery_type == 'meta':
|
||||
meta += \
|
||||
'<meta name="referrer" content="%s">' % delivery.value
|
||||
elif delivery.delivery_type == 'http-rp':
|
||||
headers['Referrer-Policy'] = delivery.value
|
||||
# TODO(kristijanburnik): Limit to WPT origins.
|
||||
headers['Access-Control-Allow-Origin'] = '*'
|
||||
else:
|
||||
raise Exception(
|
||||
'Invalid delivery_type: %s' % delivery.delivery_type)
|
||||
elif delivery.key == 'mixedContent':
|
||||
assert (delivery.value == 'opt-in')
|
||||
if delivery.delivery_type == 'meta':
|
||||
meta += '<meta http-equiv="Content-Security-Policy" ' + \
|
||||
'content="block-all-mixed-content">'
|
||||
elif delivery.delivery_type == 'http-rp':
|
||||
headers['Content-Security-Policy'] = 'block-all-mixed-content'
|
||||
else:
|
||||
raise Exception(
|
||||
'Invalid delivery_type: %s' % delivery.delivery_type)
|
||||
else:
|
||||
raise Exception('Invalid delivery_key: %s' % delivery.key)
|
||||
return {"meta": meta, "headers": headers}
|
||||
|
||||
|
||||
def generate_selection(config, selection, spec, test_html_template_basename):
|
||||
test_parameters = dump_test_parameters(selection)
|
||||
# Adjust the template for the test invoking JS. Indent it to look nice.
|
||||
|
@ -80,8 +131,7 @@ def generate_selection(config, selection, spec, test_html_template_basename):
|
|||
selection['sanity_checker_js'] = config.sanity_checker_js
|
||||
selection['spec_json_js'] = config.spec_json_js
|
||||
|
||||
test_filename = os.path.join(config.spec_directory,
|
||||
config.test_file_path_pattern % selection)
|
||||
test_filename = get_test_filename(config, selection)
|
||||
test_headers_filename = test_filename + ".headers"
|
||||
test_directory = os.path.dirname(test_filename)
|
||||
|
||||
|
@ -109,13 +159,16 @@ def generate_selection(config, selection, spec, test_html_template_basename):
|
|||
except:
|
||||
pass
|
||||
|
||||
delivery = config.handleDelivery(selection, spec)
|
||||
delivery = handle_deliveries([
|
||||
util.PolicyDelivery(selection['delivery_type'],
|
||||
selection['delivery_key'],
|
||||
selection['delivery_value'])
|
||||
])
|
||||
|
||||
if len(delivery['headers']) > 0:
|
||||
with open(test_headers_filename, "w") as f:
|
||||
for header in delivery['headers']:
|
||||
f.write(header)
|
||||
f.write('\n')
|
||||
f.write('%s: %s\n' % (header, delivery['headers'][header]))
|
||||
|
||||
selection['meta_delivery_method'] = delivery['meta']
|
||||
# Obey the lint and pretty format.
|
||||
|
|
|
@ -39,3 +39,14 @@ def load_spec_json(path_to_spec):
|
|||
print(read_nth_line(f, line_number).rstrip())
|
||||
print(" " * (column - 1) + "^")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
class PolicyDelivery(object):
|
||||
'''
|
||||
See `@typedef PolicyDelivery` comments in `resources/common.js`.
|
||||
'''
|
||||
|
||||
def __init__(self, delivery_type, key, value):
|
||||
self.delivery_type = delivery_type
|
||||
self.key = key
|
||||
self.value = value
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSP script-hash block causes error event</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-deadbeef'"></meta>
|
||||
</head>
|
||||
<body>
|
||||
<script src="support/inline-script-should-be-blocked.js"></script>
|
||||
</body>
|
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSP inline script check is done at #prepare-a-script (hash)</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!--
|
||||
'log1 += 'scr1 at #prepare-a-script';' => 'sha256-sI+xsvqqUw0LQQGgsgkYoXKWhlGgaCqsqVbPx0Z2A4s=' (allowed)
|
||||
'log1 += 'scr1 at #execute-the-script-block';' => 'sha256-Vtap5AhPN9kbQAbWqObJexCvNDexqoIwo4XsABQBqcg=' (blocked)
|
||||
-->
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc' 'sha256-sI+xsvqqUw0LQQGgsgkYoXKWhlGgaCqsqVbPx0Z2A4s='"></meta>
|
||||
</head>
|
||||
<!--
|
||||
"Should element's inline behavior be blocked by Content Security Policy?"
|
||||
is executed at the time of https://html.spec.whatwg.org/C/#prepare-a-script,
|
||||
not at https://html.spec.whatwg.org/C/#execute-the-script-block.
|
||||
So when innerText is modified after #prepare-a-script, the text BEFORE
|
||||
the modification is used for hash check.
|
||||
-->
|
||||
<script nonce="abc">
|
||||
let log1 = '';
|
||||
</script>
|
||||
|
||||
<!-- Execution order:
|
||||
async script is executed
|
||||
-> stylesheet is loaded
|
||||
-> inline script is executed. -->
|
||||
<link rel="stylesheet" href="support/empty.css?dummy=1&pipe=trickle(d2)" type="text/css">
|
||||
<script src="support/change-scripthash-before-execute.js?dummy=1&pipe=trickle(d1)" async></script>
|
||||
<script id="scr1">log1 += 'scr1 at #prepare-a-script';</script>
|
||||
|
||||
<script nonce="abc">
|
||||
test(() => {
|
||||
assert_equals(log1, 'scr1 at #prepare-a-script');
|
||||
}, 'scr1.innerText before modification should not be blocked');
|
||||
</script>
|
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSP inline script check is done at #prepare-a-script (hash)</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!--
|
||||
'log2 += 'scr2 at #prepare-a-script';' => 'sha256-9vE5NuHfEDoLvk3nPZPDX2/mnG+ZwKhpPuwQZwCDGc4=' (blocked)
|
||||
'log2 += 'scr2 at #execute-the-script-block';' => 'sha256-3AdhWTFuyxSUPxmqpTJaFRx3R5WNcyGw57lFoj1rTXw=' (allowed)
|
||||
-->
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc' 'sha256-3AdhWTFuyxSUPxmqpTJaFRx3R5WNcyGw57lFoj1rTXw='"></meta>
|
||||
</head>
|
||||
<!--
|
||||
"Should element's inline behavior be blocked by Content Security Policy?"
|
||||
is executed at the time of https://html.spec.whatwg.org/C/#prepare-a-script,
|
||||
not at https://html.spec.whatwg.org/C/#execute-the-script-block.
|
||||
So when innerText is modified after #prepare-a-script, the text BEFORE
|
||||
the modification is used for hash check.
|
||||
-->
|
||||
<script nonce="abc">
|
||||
let log2 = '';
|
||||
</script>
|
||||
|
||||
<!-- Execution order:
|
||||
async script is executed
|
||||
-> stylesheet is loaded
|
||||
-> inline script is executed. -->
|
||||
<link rel="stylesheet" href="support/empty.css?dummy=2&pipe=trickle(d2)" type="text/css">
|
||||
<script src="support/change-scripthash-before-execute.js?dummy=2&pipe=trickle(d1)" async></script>
|
||||
<script id="scr2">log2 += 'scr2 at #prepare-a-script';</script>
|
||||
|
||||
<script nonce="abc">
|
||||
test(() => {
|
||||
assert_equals(log2, '');
|
||||
}, 'scr2.innerText before modification should be blocked');
|
||||
</script>
|
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSP inline script check is done at #prepare-a-script (nonce)</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc' 'sha256-deadbeef'"></meta>
|
||||
</head>
|
||||
<!--
|
||||
"Should element's inline behavior be blocked by Content Security Policy?"
|
||||
is executed at the time of https://html.spec.whatwg.org/C/#prepare-a-script,
|
||||
not at https://html.spec.whatwg.org/C/#execute-the-script-block.
|
||||
So when nonce is modified after #prepare-a-script, the nonce BEFORE
|
||||
the modification is used for hash check.
|
||||
-->
|
||||
<script nonce="abc">
|
||||
let log1 = '';
|
||||
</script>
|
||||
|
||||
<!-- Execution order:
|
||||
async script is executed
|
||||
-> stylesheet is loaded
|
||||
-> inline script is executed. -->
|
||||
<link rel="stylesheet" href="support/empty.css?dummy=3&pipe=trickle(d2)" type="text/css">
|
||||
<script src="support/change-scriptnonce-before-execute.js?dummy=3&pipe=trickle(d1)" async></script>
|
||||
<script id="scr1" nonce="abc">log1 += 'scr1 executed';</script>
|
||||
|
||||
<script nonce="abc">
|
||||
test(() => {
|
||||
assert_equals(log1, 'scr1 executed');
|
||||
}, 'scr1 nonce before modification should not be blocked');
|
||||
</script>
|
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSP inline script check is done at #prepare-a-script (nonce)</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc' 'sha256-deadbeef'"></meta>
|
||||
</head>
|
||||
<!--
|
||||
"Should element's inline behavior be blocked by Content Security Policy?"
|
||||
is executed at the time of https://html.spec.whatwg.org/C/#prepare-a-script,
|
||||
not at https://html.spec.whatwg.org/C/#execute-the-script-block.
|
||||
So when nonce is modified after #prepare-a-script, the nonce BEFORE
|
||||
the modification is used for hash check.
|
||||
-->
|
||||
<script nonce="abc">
|
||||
let log2 = '';
|
||||
</script>
|
||||
|
||||
<!-- Execution order:
|
||||
async script is executed
|
||||
-> stylesheet is loaded
|
||||
-> inline script is executed. -->
|
||||
<link rel="stylesheet" href="support/empty.css?dummy=4&pipe=trickle(d2)" type="text/css">
|
||||
<script src="support/change-scriptnonce-before-execute.js?dummy=4&pipe=trickle(d1)" async></script>
|
||||
<script id="scr2" nonce="wrong">log2 += 'scr2 executed';</script>
|
||||
|
||||
<script nonce="abc">
|
||||
test(() => {
|
||||
assert_equals(log2, '');
|
||||
}, 'scr2 nonce before modification should be blocked');
|
||||
</script>
|
|
@ -0,0 +1,10 @@
|
|||
// This script is executed after |scr1| and |scr2| are inserted into DOM
|
||||
// before their execution (if not blocked by CSP).
|
||||
if (document.getElementById("scr1")) {
|
||||
document.getElementById("scr1").innerText =
|
||||
"log1 += 'scr1 at #execute-the-script-block';";
|
||||
}
|
||||
if (document.getElementById("scr2")) {
|
||||
document.getElementById("scr2").innerText =
|
||||
"log2 += 'scr2 at #execute-the-script-block';";
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
// This script is executed after |scr1| and |scr2| are inserted into DOM
|
||||
// before their execution (if not blocked by CSP).
|
||||
if (document.getElementById('scr1')) {
|
||||
document.getElementById('scr1').setAttribute('nonce', 'wrong');
|
||||
}
|
||||
if (document.getElementById('scr2')) {
|
||||
document.getElementById('scr2').setAttribute('nonce', 'abc');
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
var t;
|
||||
async_test(t => {
|
||||
self.t = t;
|
||||
const s = document.createElement('script');
|
||||
s.onerror = t.step_func(function() {
|
||||
assert_unreached('Script error event should not be fired.');
|
||||
});
|
||||
s.onload = t.step_func(function() {
|
||||
assert_unreached('Script load event should not be fired.');
|
||||
});
|
||||
s.innerText = 'self.t.assert_unreached("Script should not run.");'
|
||||
document.body.appendChild(s);
|
||||
setTimeout(() => t.done(), 2000);
|
||||
});
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<title>Inheritance of CSS Fonts Level 3 properties</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#property-index">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#font-stretch-prop">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#property-index">
|
||||
<meta name="assert" content="Properties inherit according to the spec.">
|
||||
<meta name="assert" content="Properties have initial values according to the spec.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
|
@ -40,6 +40,7 @@ assert_inherited('font-variant-east-asian', 'normal', 'ruby');
|
|||
assert_inherited('font-variant-ligatures', 'normal', 'none');
|
||||
assert_inherited('font-variant-numeric', 'normal', 'ordinal');
|
||||
assert_inherited('font-variant-position', 'normal', 'super');
|
||||
assert_inherited('font-variation-settings', 'normal', '"wght" 700');
|
||||
assert_inherited('font-weight', '400' /* normal */, '900');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Fonts Module Level 3: getComputedStyle().fontVariationSettings</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-variation-settings">
|
||||
<meta name="assert" content="font-variation-settings computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value('font-variation-settings', 'normal');
|
||||
|
||||
test_computed_value('font-variation-settings', '"wght" 700');
|
||||
test_computed_value('font-variation-settings', '"wght" 700, "XHGT" 0.7');
|
||||
|
||||
test_computed_value('font-variation-settings', '"XHGT" calc(0.4 + 0.3)', '"XHGT" 0.7');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Fonts Module Level 4: parsing font-variation-settings with invalid values</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-variation-settings">
|
||||
<meta name="assert" content="font-variation-settings supports only the grammar 'normal | [ <string> <number>] #'.">
|
||||
<meta name="assert" content="font-variation-settings strings must have 4 characters.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value('font-variation-settings', '700');
|
||||
test_invalid_value('font-variation-settings', '"XHGT"');
|
||||
test_invalid_value('font-variation-settings', 'wght 700');
|
||||
test_invalid_value('font-variation-settings', 'normal, "wght" 700');
|
||||
|
||||
test_invalid_value('font-variation-settings', '"wgt" 700');
|
||||
test_invalid_value('font-variation-settings', '"XHGTX" 0.7');
|
||||
test_invalid_value('font-variation-settings', '"abc\1F" 0.5');
|
||||
test_invalid_value('font-variation-settings', '"abc\7F" 0.5');
|
||||
test_invalid_value('font-variation-settings', '"abc\A9" 0.5');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Fonts Module Level 4: parsing font-variation-settings with valid values</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-variation-settings">
|
||||
<meta name="assert" content="font-variation-settings supports the full grammar 'normal | [ <string> <number>] #'.">
|
||||
<meta name="assert" content="font-variation-settings strings are case sensitive.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value('font-variation-settings', 'normal');
|
||||
|
||||
test_valid_value('font-variation-settings', '"wght" 700');
|
||||
test_valid_value('font-variation-settings', '"wght" 700, "XHGT" 0.7');
|
||||
|
||||
test_valid_value('font-variation-settings', '"a cd" 0.5');
|
||||
test_valid_value('font-variation-settings', '"ab@d" 0.5');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Inline Layout: getComputedStyle().dominantBaseline</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-inline-3/#dominant-baseline-property">
|
||||
<meta name="assert" content="dominant-baseline computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("dominant-baseline", "auto");
|
||||
test_computed_value("dominant-baseline", "text-bottom");
|
||||
test_computed_value("dominant-baseline", "alphabetic");
|
||||
test_computed_value("dominant-baseline", "ideographic");
|
||||
test_computed_value("dominant-baseline", "middle");
|
||||
test_computed_value("dominant-baseline", "central");
|
||||
test_computed_value("dominant-baseline", "mathematical");
|
||||
test_computed_value("dominant-baseline", "hanging");
|
||||
test_computed_value("dominant-baseline", "text-top");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Inline Layout: parsing dominant-baseline with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-inline-3/#dominant-baseline-property">
|
||||
<meta name="assert" content="dominant-baseline supports only the grammar 'auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("dominant-baseline", "normal");
|
||||
test_invalid_value("dominant-baseline", "none");
|
||||
test_invalid_value("dominant-baseline", "alphabetic, ideographic");
|
||||
test_invalid_value("dominant-baseline", "middle central");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Inline Layout: parsing dominant-baseline with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-inline-3/#dominant-baseline-property">
|
||||
<meta name="assert" content="dominant-baseline supports the full grammar 'auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("dominant-baseline", "auto");
|
||||
test_valid_value("dominant-baseline", "text-bottom");
|
||||
test_valid_value("dominant-baseline", "alphabetic");
|
||||
test_valid_value("dominant-baseline", "ideographic");
|
||||
test_valid_value("dominant-baseline", "middle");
|
||||
test_valid_value("dominant-baseline", "central");
|
||||
test_valid_value("dominant-baseline", "mathematical");
|
||||
test_valid_value("dominant-baseline", "hanging");
|
||||
test_valid_value("dominant-baseline", "text-top");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -52,7 +52,7 @@
|
|||
<div class="outer">
|
||||
<div class="blueborders"></div>
|
||||
<div class="innerbg" style="left: 0"></div>
|
||||
<div class="inner lefthalf" style="left: 0; height: 60px">
|
||||
<div class="inner lefthalf" style="left: 0">
|
||||
AAAAA<br>
|
||||
BBBBB<br>
|
||||
CCCCC
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<link rel="author" title="Mozilla" href="https://mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#cf">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-breaking-000-ref.html">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
JJJJJ
|
||||
</div>
|
||||
<div class="innerbg" style="left: 204px"></div>
|
||||
<div class="inner lefthalf" style="left: 204px; height: 80px">
|
||||
<div class="inner lefthalf" style="left: 204px">
|
||||
KKKKK<br>
|
||||
LLLLL<br>
|
||||
MMMMM<br>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<link rel="author" title="Mozilla" href="https://mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#cf">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-breaking-001-ref.html">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
</div>
|
||||
<div class="border-bottom" style="left: 0"></div>
|
||||
<div class="innerbg" style="left: 204px"></div>
|
||||
<div class="inner lefthalf" style="left: 204px; height: 80px">
|
||||
<div class="inner lefthalf" style="left: 204px">
|
||||
KKKKK<br>
|
||||
LLLLL<br>
|
||||
MMMMM<br>
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<link rel="author" title="Mozilla" href="https://mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#cf">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
|
||||
<link rel="match" href="multicol-breaking-004-ref.html">
|
||||
<style>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
</style>
|
||||
|
||||
<div class="outer">
|
||||
<div class="inner lefthalf" style="left: 0; height: 60px">
|
||||
<div class="inner lefthalf" style="left: 0">
|
||||
AAAAA<br>
|
||||
BBBBB<br>
|
||||
CCCCC
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<link rel="author" title="Mozilla" href="https://mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#cf">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-breaking-nobackground-000-ref.html">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
IIIII<br>
|
||||
JJJJJ
|
||||
</div>
|
||||
<div class="inner lefthalf" style="left: 204px; height: 80px">
|
||||
<div class="inner lefthalf" style="left: 204px">
|
||||
KKKKK<br>
|
||||
LLLLL<br>
|
||||
MMMMM<br>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<link rel="author" title="Mozilla" href="https://mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#cf">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-breaking-nobackground-001-ref.html">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the column rules' block-size with nested balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
.outer {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid black;
|
||||
column-fill: auto;
|
||||
width: 400px;
|
||||
height: 250px;
|
||||
}
|
||||
.inner {
|
||||
column-count: 2;
|
||||
column-rule: 3px solid gray;
|
||||
column-fill: auto;
|
||||
height: 200px;
|
||||
}
|
||||
.outer-block {
|
||||
background-color: lightgreen;
|
||||
height: 200px;
|
||||
}
|
||||
.inner-block {
|
||||
background-color: lightblue;
|
||||
height: 150px;
|
||||
}
|
||||
.space {
|
||||
height: 50px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article class="outer">
|
||||
<div class="outer-block"></div>
|
||||
<div class="space"></div>
|
||||
<article class="inner">
|
||||
<div class="inner-block"></div><div class="space"></div>
|
||||
<div class="inner-block"></div><div class="space"></div>
|
||||
</article>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the column rules' block-size with nested balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#cf">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-rule-nested-balancing-001-ref.html">
|
||||
<meta name="assert" content="This test verifies that the column-rules are extended to the content block-end edges of their corresponding inner and outer multicol container.">
|
||||
|
||||
<style>
|
||||
.outer {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid black;
|
||||
width: 400px;
|
||||
height: 250px;
|
||||
}
|
||||
.inner {
|
||||
column-count: 2;
|
||||
column-rule: 3px solid gray;
|
||||
height: 200px;
|
||||
}
|
||||
.outer-block {
|
||||
background-color: lightgreen;
|
||||
height: 200px;
|
||||
}
|
||||
.inner-block {
|
||||
background-color: lightblue;
|
||||
height: 300px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article class="outer">
|
||||
<div class="outer-block"></div>
|
||||
<article class="inner">
|
||||
<div class="inner-block"></div>
|
||||
</article>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,43 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the column rules' block-size with nested balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
.outer {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid black;
|
||||
column-fill: auto;
|
||||
width: 400px;
|
||||
height: 250px;
|
||||
}
|
||||
.inner {
|
||||
column-count: 2;
|
||||
column-rule: 3px solid gray;
|
||||
column-fill: auto;
|
||||
height: 200px;
|
||||
}
|
||||
.outer-block {
|
||||
background-color: lightgreen;
|
||||
height: 200px;
|
||||
}
|
||||
.inner-block {
|
||||
background-color: lightblue;
|
||||
height: 200px;
|
||||
}
|
||||
.space {
|
||||
height: 50px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article class="outer">
|
||||
<div class="outer-block"></div>
|
||||
<div class="space"></div>
|
||||
<article class="inner">
|
||||
<div class="inner-block"></div>
|
||||
<div class="inner-block"></div>
|
||||
</article>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the column rules' block-size with nested balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#cf">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-rule-nested-balancing-002-ref.html">
|
||||
<meta name="assert" content="This test verifies that the column-rules are extended to the content block-end edges of their corresponding inner and outer multicol container, where the inner container has height: auto.">
|
||||
|
||||
<style>
|
||||
.outer {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid black;
|
||||
width: 400px;
|
||||
height: 250px;
|
||||
}
|
||||
.inner {
|
||||
column-count: 2;
|
||||
column-rule: 3px solid gray;
|
||||
height: auto;
|
||||
}
|
||||
.outer-block {
|
||||
background-color: lightgreen;
|
||||
height: 200px;
|
||||
}
|
||||
.inner-block {
|
||||
background-color: lightblue;
|
||||
height: 400px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article class="outer">
|
||||
<div class="outer-block"></div>
|
||||
<article class="inner">
|
||||
<div class="inner-block"></div>
|
||||
</article>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the block-size distribution across column-span split in a balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 200px;
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
width: 400px;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block1</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span1</div>
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block2</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span2</div>
|
||||
<article>
|
||||
<div class="container" style="height: 50px;">
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the block-size distribution across column-span split in a balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
|
||||
<link rel="match" href="multicol-span-all-children-height-004a-ref.html">
|
||||
<meta name="assert" content="This test verifies that a block container with a fixed block-size, split by column-span, distributes just enough block-size to hold its children.">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 450px;
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<!-- The container is split by the column-spans.
|
||||
a) Before column-span1, it distributes 200px height into two columns,
|
||||
and each column takes 100px height.
|
||||
b) In between column-span1 and column-span2, same distribution as a).
|
||||
c) After column-span2, it has 50px height left, which goes to the first
|
||||
column.
|
||||
-->
|
||||
<div class="container">
|
||||
<!-- Each block spreads its height evenly into two columns, and
|
||||
each column contains 100px height. -->
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
<div class="column-span">column-span2</div>
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the block-size distribution across column-span split in a balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 200px;
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
width: 400px;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block1</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span1</div>
|
||||
<article>
|
||||
<div class="container" style="height: 150px;">
|
||||
<div class="block">block2</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span2</div>
|
||||
<article>
|
||||
<div class="container" style="height: 0;">
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,50 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the block-size distribution across column-span split in a balancing multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
|
||||
<link rel="match" href="multicol-span-all-children-height-004b-ref.html">
|
||||
<meta name="assert" content="This test verifies that a block container with a fixed block-size, split by column-span, distributes just enough block-size to hold its children.">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 350px;
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<!-- The container is split by the column-spans.
|
||||
a) Before column-span1, it distributes 200px height into two columns,
|
||||
and each column takes 100px height.
|
||||
b) In between column-span1 and column-span2, it has 150px left. The first
|
||||
column takes 100px, and the second column takes 50px.
|
||||
-->
|
||||
<div class="container">
|
||||
<!-- Each block spreads its height evenly into two columns, and
|
||||
each column contains 100px height. -->
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
<div class="column-span">column-span2</div>
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the block-size distribution across column-span split in a column-fill:auto multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 1;
|
||||
width: 200px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
width: 200px;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block1</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span1</div>
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block2</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span2</div>
|
||||
<article>
|
||||
<div class="container" style="height: 50px;">
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the block-size distribution across column-span split in a column-fill:auto multicol container</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
|
||||
<link rel="match" href="multicol-span-all-children-height-005-ref.html">
|
||||
<meta name="assert" content="This test verifies that a block container with a fixed block-size, split by column-span, distributes just enough block-size to hold its children.">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 1;
|
||||
column-fill: auto;
|
||||
width: 200px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 250px;
|
||||
background-color: pink;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<!-- The container is split by the column-spans.
|
||||
a) Before column-span1, it distributes 100px height into the sole column.
|
||||
b) In between column-span1 and column-span2, same distribution as a).
|
||||
c) After column-span2, it has 50px height left.
|
||||
-->
|
||||
<div class="container">
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
<div class="column-span">column-span2</div>
|
||||
<div class="block">block3</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test Reference: Test the borders drawing for a block split by column-span</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
background-color: pink;
|
||||
border: 20px solid purple;
|
||||
}
|
||||
div.block {
|
||||
/* This block spreads evenly into two columns, each has 100px height. */
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
width: 400px;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="container" style="border-bottom: none; height: 200px;">
|
||||
<div class="block">block1</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="column-span">column-span1</div>
|
||||
<article>
|
||||
<div class="container" style="border-top: none; height: 50px;">
|
||||
<div class="block">block2</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the borders drawing for a block split by column-span</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
|
||||
<link rel="match" href="multicol-span-all-children-height-006-ref.html">
|
||||
<meta name="assert" content="This test verifies that the borders of block container with a fixed block-size, split by column-span, are skipped on the sides adjacent to column-span.">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
width: 400px;
|
||||
background-color: lightgreen;
|
||||
}
|
||||
div.container {
|
||||
height: 250px;
|
||||
background-color: pink;
|
||||
border: 20px solid purple;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="container">
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the column-rule's block-size</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid;
|
||||
width: 400px;
|
||||
height: 500px;
|
||||
background-color: lightgreen;
|
||||
border: 2em solid purple;
|
||||
padding: 2em;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
<div class="column-span">column-span2</div>
|
||||
<div class="block" style="height: 400px;">block3</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout Test: Test the column rule's block-size</title>
|
||||
<link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-gaps-and-rules">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2309">
|
||||
<link rel="match" href="multicol-span-all-rule-001-ref.html">
|
||||
<meta name="assert" content="This test verifies that the column-rule after the last column-span is extended to the content block-end edge of the multicol container.">
|
||||
|
||||
<style>
|
||||
article {
|
||||
column-count: 2;
|
||||
column-rule: 6px solid;
|
||||
width: 400px;
|
||||
height: 500px;
|
||||
background-color: lightgreen;
|
||||
border: 2em solid purple;
|
||||
padding: 2em;
|
||||
}
|
||||
div.block {
|
||||
width: 100px;
|
||||
height: 200px;
|
||||
}
|
||||
div.column-span {
|
||||
column-span: all;
|
||||
height: 50px;
|
||||
background-color: lightblue;
|
||||
}
|
||||
</style>
|
||||
|
||||
<article>
|
||||
<!-- Each block spreads its height evenly into two columns, and
|
||||
each column contains 100px height. -->
|
||||
<div class="block">block1</div>
|
||||
<div class="column-span">column-span1</div>
|
||||
<div class="block">block2</div>
|
||||
<div class="column-span">column-span2</div>
|
||||
<!-- The column rule after column-span2 should extend to the content edge
|
||||
of the multicol container as if block3 has "height: 400px;" -->
|
||||
<div class="block">block3</div>
|
||||
</article>
|
||||
</html>
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=919415">
|
||||
<div id="target" style="position:absolute; overflow:auto; height:100px; top:100px;"></div>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
test(()=> {
|
||||
document.body.offsetTop;
|
||||
target.style.top = "50px";
|
||||
}, "no crash");
|
||||
</script>
|
|
@ -15,6 +15,8 @@
|
|||
<div id="target"></div>
|
||||
</div>
|
||||
<script>
|
||||
assert_not_inherited('overscroll-behavior-block', 'auto', 'contain');
|
||||
assert_not_inherited('overscroll-behavior-inline', 'auto', 'contain');
|
||||
assert_not_inherited('overscroll-behavior-x', 'auto', 'contain');
|
||||
assert_not_inherited('overscroll-behavior-y', 'auto', 'contain');
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test: ::before box removed when display set to 'none'.</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#generated-content">
|
||||
<link rel="match" href="../reference/pass_if_pass_below.html">
|
||||
<style>
|
||||
#id::before {
|
||||
content: "FAIL";
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: red;
|
||||
}
|
||||
#id.none::before {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is the word "PASS" below.</p>
|
||||
<div id="id" class="open">PASS</div>
|
||||
<script>
|
||||
id.offsetTop;
|
||||
id.className = "none";
|
||||
</script>
|
|
@ -16,7 +16,7 @@
|
|||
background: green;
|
||||
font-family: monospace;
|
||||
width: 1ch;
|
||||
height: 20em;
|
||||
height: 19em;
|
||||
}
|
||||
#test {
|
||||
width: 1ch;
|
||||
|
@ -25,9 +25,12 @@
|
|||
font-family: monospace;
|
||||
line-break: anywhere;
|
||||
}
|
||||
span {
|
||||
background: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>Test passes if there is a green rectangle below and no red.</p>
|
||||
<div id=green></div>
|
||||
<!-- with line breaks everywhere, none of the following characters should stick out from under the green div -->
|
||||
<div id=test>aa-a.a)a,a)a aa⁠a‍a・a</div>
|
||||
<div id=test>aa-a.a)a,a)a<span> </span>aa⁠a‍a・a</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html lang=en>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Text Test Reference</title>
|
||||
|
@ -9,7 +9,7 @@
|
|||
background: green;
|
||||
font-family: monospace;
|
||||
width: 1ch;
|
||||
height: 20em;
|
||||
height: 19em;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Text Test: Chrome pre-line crash test</title>
|
||||
<link rel="help" href="https://crbug.com/989827">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
br { white-space: pre-line }
|
||||
</style>
|
||||
<script>
|
||||
test(() => {
|
||||
document.documentElement.remove();
|
||||
const br = document.createElement("br");
|
||||
br.appendChild(document.createTextNode(""));
|
||||
document.appendChild(br);
|
||||
br.offsetTop;
|
||||
br.firstChild.data = " ";
|
||||
}, "Modifying data of a text child of a root br element with pre-line should not crash.");
|
||||
</script>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSSOM View: getComputedStyle().scrollBehavior</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
|
||||
<meta name="assert" content="scroll-behavior computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("scroll-behavior", 'auto');
|
||||
test_computed_value("scroll-behavior", 'smooth');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSSOM View: parsing scroll-behavior with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
|
||||
<meta name="assert" content="scroll-behavior supports only the grammar 'auto | smooth'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("scroll-behavior", 'normal');
|
||||
test_invalid_value("scroll-behavior", 'auto smooth');
|
||||
test_invalid_value("scroll-behavior", 'auto, smooth');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSSOM View: parsing scroll-behavior with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
|
||||
<meta name="assert" content="scroll-behavior supports the full grammar 'auto | smooth'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("scroll-behavior", 'auto');
|
||||
test_valid_value("scroll-behavior", 'smooth');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -42,7 +42,7 @@
|
|||
to: 'right -140% bottom -60%',
|
||||
}, [
|
||||
{at: -1, expect: 'calc(960px - 240%) calc(800px - 160%)'},
|
||||
{at: 0, expect: 'left 480px top 400px'},
|
||||
{at: 0, expect: 'left calc(0% + 480px) top calc(0% + 400px)'},
|
||||
{at: 0.125, expect: 'calc(420px + 30%) calc(350px + 20%)'},
|
||||
{at: 0.875, expect: 'calc(210% + 60px) calc(140% + 50px)'},
|
||||
{at: 1, expect: 'right -140% bottom -60%'},
|
||||
|
@ -54,12 +54,12 @@
|
|||
from: 'left top',
|
||||
to: 'left 8px bottom 20%',
|
||||
}, [
|
||||
{at: -1, expect: '-8px -80%'},
|
||||
{at: -1, expect: 'calc(0% - 8px) -80%'},
|
||||
{at: 0, expect: 'left top'},
|
||||
{at: 0.125, expect: '1px 10%'},
|
||||
{at: 0.875, expect: '7px 70%'},
|
||||
{at: 1, expect: 'left 8px bottom 20%'},
|
||||
{at: 2, expect: '16px 160%'}
|
||||
{at: 0.125, expect: 'calc(0% + 1px) 10%'},
|
||||
{at: 0.875, expect: 'calc(0% + 7px) 70%'},
|
||||
{at: 1, expect: 'left calc(0% + 8px) bottom 20%'},
|
||||
{at: 2, expect: 'calc(0% + 16px) 160%'}
|
||||
]);
|
||||
|
||||
test_no_interpolation({
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<title>CSS Motion Path: Combined transformation matrix interpolation</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-transforms-2/#ctm">
|
||||
<link rel="match" href="offset-path-with-transforms-ref.html">
|
||||
<meta name="assert" content="This tests animating combined transformation matrix.">
|
||||
<style>
|
||||
@keyframes anim {
|
||||
to {
|
||||
translate: 0px 100px;
|
||||
offset-distance: 100%;
|
||||
transform: translateX(-100px);
|
||||
}
|
||||
}
|
||||
#target {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 50px;
|
||||
background-color: lime;
|
||||
offset-path: path("M25 0v100");
|
||||
animation: anim 10s -5s paused linear;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body onload="load()">
|
||||
<div id="target"></div>
|
||||
<div style='width: 50px; height: 100px; background-color: red;'></div>
|
||||
</body>
|
||||
<script>
|
||||
requestAnimationFrame(() => {
|
||||
document.documentElement.classList.remove('reftest-wait');
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Motion Path: Combined transformation matrix interpolation reference</title>
|
||||
<style>
|
||||
#target {
|
||||
width: 50px;
|
||||
height: 100px;
|
||||
background-color: lime;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
test(function(){
|
||||
target.style = 'offset-position: calc(30px + 20%) calc(-200px + 8em + 100%);';
|
||||
assert_equals(getComputedStyle(target).offsetPosition, 'calc(20% + 30px) calc(100% + -40px)');
|
||||
assert_equals(getComputedStyle(target).offsetPosition, 'calc(20% + 30px) calc(100% - 40px)');
|
||||
}, 'offset-position supports calc');
|
||||
|
||||
test(function(){
|
||||
|
@ -32,7 +32,7 @@ test(function(){
|
|||
|
||||
test(function(){
|
||||
target.style = 'offset-distance: calc(-100px + 50%);';
|
||||
assert_equals(getComputedStyle(target).offsetDistance, 'calc(50% + -100px)');
|
||||
assert_equals(getComputedStyle(target).offsetDistance, 'calc(50% - 100px)');
|
||||
}, 'offset-distance supports calc');
|
||||
|
||||
test(function(){
|
||||
|
@ -42,7 +42,7 @@ test(function(){
|
|||
|
||||
test(function(){
|
||||
target.style = 'offset-anchor: calc(30px + 20%) calc(-200px + 8em + 100%);';
|
||||
assert_equals(getComputedStyle(target).offsetAnchor, 'calc(20% + 30px) calc(100% + -40px)');
|
||||
assert_equals(getComputedStyle(target).offsetAnchor, 'calc(20% + 30px) calc(100% - 40px)');
|
||||
}, 'offset-anchor supports calc');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -19,7 +19,7 @@ test_valid_value("offset-anchor", "center center");
|
|||
test_valid_value("offset-anchor", "right center");
|
||||
test_valid_value("offset-anchor", "center top");
|
||||
test_valid_value("offset-anchor", "center bottom");
|
||||
test_valid_value("offset-anchor", "calc(10px + 20%) center");
|
||||
test_valid_value("offset-anchor", "calc(20% + 10px) center");
|
||||
test_valid_value("offset-anchor", "right 30em");
|
||||
test_valid_value("offset-anchor", "10px 20%");
|
||||
test_valid_value("offset-anchor", "left -10px top -20%");
|
||||
|
|
|
@ -20,7 +20,7 @@ if ('capture' in HTMLInputElement.prototype) {
|
|||
instance['capture'] = 'user';
|
||||
const logEntries = element.takeLog();
|
||||
assert_array_equals(logEntries.types(), ['attributeChanged']);
|
||||
assert_attribute_log_entry(logEntries.last(), {name: 'capture', oldValue: '', newValue: 'user', namespace: null});
|
||||
assert_attribute_log_entry(logEntries.last(), {name: 'capture', oldValue: null, newValue: 'user', namespace: null});
|
||||
}, 'capture on HTMLInputElement must enqueue an attributeChanged reaction when adding new attribute');
|
||||
|
||||
test(() => {
|
||||
|
@ -43,7 +43,7 @@ if ('capture' in HTMLInputElement.prototype) {
|
|||
instance['capture'] = 'asdf';
|
||||
const logEntries = element.takeLog();
|
||||
assert_array_equals(logEntries.types(), ['attributeChanged']);
|
||||
assert_attribute_log_entry(logEntries.last(), {name: 'capture', oldValue: '', newValue: 'asdf', namespace: null});
|
||||
assert_attribute_log_entry(logEntries.last(), {name: 'capture', oldValue: null, newValue: 'asdf', namespace: null});
|
||||
}, 'capture on HTMLInputElement must enqueue an attributeChanged reaction when adding invalid value default');
|
||||
|
||||
test(() => {
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -3,12 +3,16 @@
|
|||
When running Chrome, there are some useful command line arguments.
|
||||
|
||||
You can inform `wpt` of the release channel of Chrome using `--channel`.
|
||||
However, `wpt` currently does not support installing Chrome or finding the
|
||||
Chrome binary of a specific channel, so you would also need to specify the path
|
||||
to the Chrome binary with `--binary`. For example, to run Chrome Dev on Linux:
|
||||
`wpt` is able to find the correct binary in the following cases:
|
||||
* On Linux for stable, beta and dev channels if
|
||||
`google-chrome-{stable,beta,unstable}` are in `PATH`;
|
||||
* On Mac for stable and canary channels if the official DMGs are installed.
|
||||
|
||||
```
|
||||
./wpt run --channel dev --binary `which google-chrome-unstable` chrome
|
||||
In other cases, you will need to specify the path to the Chrome binary with
|
||||
`--binary`. For example:
|
||||
|
||||
```bash
|
||||
./wpt run --channel dev --binary /path/to/non-default/google-chrome chrome
|
||||
```
|
||||
|
||||
Note: when the channel is "dev", `wpt` will *automatically* enable all
|
||||
|
@ -19,7 +23,7 @@ Note: when the channel is "dev", `wpt` will *automatically* enable all
|
|||
If you want to enable a specific [runtime enabled feature][1], use
|
||||
`--binary-arg` to specify the flag(s) that you want to pass to Chrome:
|
||||
|
||||
```
|
||||
```bash
|
||||
./wpt run --binary-arg=--enable-blink-features=AsyncClipboard chrome clipboard-apis/
|
||||
```
|
||||
|
||||
|
|
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