Sync WPT with upstream (26-11-2023) (#30783)

* Update web-platform-tests to revision b'a59ba94da3f2638beee8950e423c5fedfe02e809'

* Update expectations

* Update expectations again

---------

Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
Servo WPT Sync 2023-11-27 10:50:45 -05:00 committed by GitHub
parent 76401823f2
commit 139df1c73b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
412 changed files with 7843 additions and 4775 deletions

View file

@ -0,0 +1,3 @@
[align-content-block-simple-height-change.html]
[Updating a container height should align the content again]
expected: FAIL

View file

@ -16,3 +16,36 @@
[e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(120 30 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30% 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30% 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50% / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 none 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 none 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 none)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 none / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50 / none)" should set the property value]
expected: FAIL

View file

@ -16,3 +16,36 @@
[e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(120 30 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30% 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30% 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50% / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 none 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 none 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 none)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 none / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50 / none)" should set the property value]
expected: FAIL

View file

@ -0,0 +1,27 @@
[progress-computed.tentative.html]
[progress(1 from 0 to 1) should be used-value-equivalent to 1]
expected: FAIL
[progress(progress(1 from 0 to 1) from progress(0px from 0px to 1px) to progress(1deg from 0deg to 1deg)) should be used-value-equivalent to 1]
expected: FAIL
[progress(sign(-10px) * 10px from (10px - 10px) to 10px * progress(1deg from 0deg to 1deg)) should be used-value-equivalent to -1]
expected: FAIL
[calc(progress(100px from 0px to 50px) * 10px + 100px) should be used-value-equivalent to 120px]
expected: FAIL
[calc(progress(100 from 0 to sign(50px))) should be used-value-equivalent to 100]
expected: FAIL
[calc(progress(abs(5%) from hypot(3%, 4%) to 10%)) should be used-value-equivalent to 1]
expected: FAIL
[calc(progress(1 from 0 to 1) * 10px) should be used-value-equivalent to 10px]
expected: FAIL
[calc(progress(1 from 0 to 1) * 1s) should be used-value-equivalent to 1s]
expected: FAIL
[calc(progress(1 from 0 to 1) * 1deg) should be used-value-equivalent to 1deg]
expected: FAIL

View file

@ -0,0 +1,66 @@
[progress-serialize.tentative.html]
['progress(100px from 0px to 100px)' as a specified value should serialize as 'calc(1)'.]
expected: FAIL
['scale(progress(100px from 0px to 100px))' as a specified value should serialize as 'scale(calc(1))'.]
expected: FAIL
['scale(progress(100px from 0px to 100px))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(10em from 0px to 10em)' as a specified value should serialize as 'calc(progress(10em from 0px to 10em))'.]
expected: FAIL
['scale(progress(10em from 0px to 10em))' as a specified value should serialize as 'scale(calc(progress(10em from 0px to 10em)))'.]
expected: FAIL
['scale(progress(10em from 0px to 10em))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(10em from 0px to 10rem)' as a specified value should serialize as 'calc(progress(10em from 0px to 10rem))'.]
expected: FAIL
['scale(progress(10em from 0px to 10rem))' as a specified value should serialize as 'scale(calc(progress(10em from 0px to 10rem)))'.]
expected: FAIL
['scale(progress(10em from 0px to 10rem))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(100px from (10px - 10px) to 100px)' as a specified value should serialize as 'calc(1)'.]
expected: FAIL
['scale(progress(100px from (10px - 10px) to 100px))' as a specified value should serialize as 'scale(calc(1))'.]
expected: FAIL
['scale(progress(100px from (10px - 10px) to 100px))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(1% from (10% - 10%) to 100%)' as a specified value should serialize as 'calc(0.01)'.]
expected: FAIL
['scale(progress(1% from (10% - 10%) to 100%))' as a specified value should serialize as 'scale(calc(0.01))'.]
expected: FAIL
['progress(1% from (10% - 10%) to 100%)' as a computed value should serialize as '0.01'.]
expected: FAIL
['scale(progress(1% from (10% - 10%) to 100%))' as a computed value should serialize as 'matrix(0.01, 0, 0, 0.01, 0, 0)'.]
expected: FAIL
['calc(0.5 * progress(100px from 0px to 100px))' as a specified value should serialize as 'calc(0.5)'.]
expected: FAIL
['scale(calc(0.5 * progress(100px from 0px to 100px)))' as a specified value should serialize as 'scale(calc(0.5))'.]
expected: FAIL
['calc(0.5 * progress(100px from 0px to 100px))' as a computed value should serialize as '0.5'.]
expected: FAIL
['scale(calc(0.5 * progress(100px from 0px to 100px)))' as a computed value should serialize as 'matrix(0.5, 0, 0, 0.5, 0, 0)'.]
expected: FAIL
['calc(50px * progress(100px from 0px to 100px))' as a specified value should serialize as 'calc(50px)'.]
expected: FAIL
['calc(1px * progress(abs(10%) from (10% - 10%) to 100% / 10))' as a computed value should serialize as '1px'.]
expected: FAIL

View file

@ -742,3 +742,6 @@
[calc(10 - abs(20 - sign(2 - abs(-20)))) should be used-value-equivalent to -11] [calc(10 - abs(20 - sign(2 - abs(-20)))) should be used-value-equivalent to -11]
expected: FAIL expected: FAIL
[calc((1em + 1px) * (sign(1em - 10px - 10%) + 1)) should be used-value-equivalent to 21px]
expected: FAIL

View file

@ -376,3 +376,813 @@
['scale(calc(calc(tan(NaN))))' as a specified value should serialize as 'scale(calc(NaN))'.] ['scale(calc(calc(tan(NaN))))' as a specified value should serialize as 'scale(calc(NaN))'.]
expected: FAIL expected: FAIL
[cos(0) should be specified-value-equivalent to calc(1)]
expected: FAIL
[cos(0) should be computed-value-equivalent to 1]
expected: FAIL
[cos(0) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(cos(0)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(cos(0)) should be used-value-equivalent to 1]
expected: FAIL
[sin(0) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(0) should be computed-value-equivalent to 0]
expected: FAIL
[sin(0) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(0)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(0)) should be used-value-equivalent to 0]
expected: FAIL
[tan(0) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(0) should be computed-value-equivalent to 0]
expected: FAIL
[tan(0) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(0)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(0)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(0)) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0) + 0.5) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0) + 0.5) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0) + 0.5) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be used-value-equivalent to 1]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be computed-value-equivalent to 1]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0) + 0.5) should be specified-value-equivalent to calc(1.5)]
expected: FAIL
[calc(cos(0) + 0.5) should be computed-value-equivalent to 1.5]
expected: FAIL
[calc(cos(0) + 0.5) should be used-value-equivalent to 1.5]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be specified-value-equivalent to calc(1.5)]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be computed-value-equivalent to 1.5]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be used-value-equivalent to 1.5]
expected: FAIL
[calc(tan(0) + 0.5) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(tan(0) + 0.5) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(tan(0) + 0.5) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(0deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[cos(0deg) should be computed-value-equivalent to 1]
expected: FAIL
[cos(0deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(cos(0deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(cos(0deg)) should be used-value-equivalent to 1]
expected: FAIL
[sin(0deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(0deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(0deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(0deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(0deg)) should be used-value-equivalent to 0]
expected: FAIL
[tan(0deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(0deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(0deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(0deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(0deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(0deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(30deg) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(30deg) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(30deg) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(30deg)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(30deg)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(30deg)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.523599) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.523599)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599rad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.523599rad) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599rad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599rad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.523599rad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599rad)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(33.333333grad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(33.333333grad) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(33.333333grad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(33.333333grad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(33.333333grad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(33.333333grad)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.08333333turn) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.08333333turn) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.08333333turn) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.08333333turn)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.08333333turn)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.08333333turn)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(60deg) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(60deg) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(60deg) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(60deg)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(60deg)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(60deg)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(66.66666666grad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(66.66666666grad) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(66.66666666grad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(66.66666666grad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(66.66666666grad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(66.66666666grad)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(1.047197551) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(1.047197551)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551rad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(1.047197551rad) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551rad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551rad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(1.047197551rad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551rad)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(0.16666666666turn) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(0.16666666666turn) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(0.16666666666turn) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(0.16666666666turn)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(0.16666666666turn)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(0.16666666666turn)) should be used-value-equivalent to 0.5]
expected: FAIL
[tan(45deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(45deg) should be computed-value-equivalent to 1]
expected: FAIL
[tan(45deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(45deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(45deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(45deg)) should be used-value-equivalent to 1]
expected: FAIL
[tan(50grad) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(50grad) should be computed-value-equivalent to 1]
expected: FAIL
[tan(50grad) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(50grad)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(50grad)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(50grad)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.78539816) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.78539816) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.78539816) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.78539816)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.78539816rad) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.78539816rad) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.78539816rad) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816rad)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.78539816rad)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816rad)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.125turn) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.125turn) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.125turn) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.125turn)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.125turn)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.125turn)) should be used-value-equivalent to 1]
expected: FAIL
[sin(180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(180deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(180deg)) should be used-value-equivalent to 0]
expected: FAIL
[cos(180deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[cos(180deg) should be computed-value-equivalent to -1]
expected: FAIL
[cos(180deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(cos(180deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(cos(180deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(cos(180deg)) should be used-value-equivalent to -1]
expected: FAIL
[tan(180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(180deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(180deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(270deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[sin(270deg) should be computed-value-equivalent to -1]
expected: FAIL
[sin(270deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(sin(270deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(sin(270deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(sin(270deg)) should be used-value-equivalent to -1]
expected: FAIL
[cos(270deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[cos(270deg) should be computed-value-equivalent to 0]
expected: FAIL
[cos(270deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(270deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(cos(270deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(270deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(-180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(-180deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(-180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(-180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(-180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(-180deg)) should be used-value-equivalent to 0]
expected: FAIL
[cos(-180deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[cos(-180deg) should be computed-value-equivalent to -1]
expected: FAIL
[cos(-180deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(cos(-180deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(cos(-180deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(cos(-180deg)) should be used-value-equivalent to -1]
expected: FAIL
[tan(-180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(-180deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(-180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(-180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(-180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(-180deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(-270deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[sin(-270deg) should be computed-value-equivalent to 1]
expected: FAIL
[sin(-270deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(sin(-270deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(sin(-270deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(sin(-270deg)) should be used-value-equivalent to 1]
expected: FAIL
[cos(-270deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[cos(-270deg) should be computed-value-equivalent to 0]
expected: FAIL
[cos(-270deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(-270deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(cos(-270deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(-270deg)) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be specified-value-equivalent to calc(2)]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be computed-value-equivalent to 2]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be used-value-equivalent to 2]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be specified-value-equivalent to calc(2)]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be computed-value-equivalent to 2]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be used-value-equivalent to 2]
expected: FAIL
[calc(sin(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(NaN))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(NaN))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(NaN))) should be used-value-equivalent to 0]
expected: FAIL

View file

@ -1,6 +1,3 @@
[MediaQueryList-addListener-removeListener.html] [MediaQueryList-addListener-removeListener.html]
[listeners are called when <iframe> is resized] [listeners are called when <iframe> is resized]
expected: FAIL expected: FAIL
[listeners are called correct number of times]
expected: FAIL

View file

@ -1,3 +0,0 @@
[MediaQueryList-extends-EventTarget.html]
[listeners for "change" type are called]
expected: FAIL

View file

@ -1,6 +0,0 @@
[offsetTopLeft-border-box.html]
[container: 0]
expected: FAIL
[container: 1]
expected: FAIL

View file

@ -0,0 +1,6 @@
[scroll-behavior-smooth-navigation.html]
[Instant scrolling while doing history navigation.]
expected: FAIL
[Smooth scrolling while doing history navigation.]
expected: FAIL

View file

@ -1,3 +1,4 @@
[CSSStyleSheet-constructable-concat.html] [CSSStyleSheet-constructable-concat.html]
expected: FAIL
[adoptedStyleSheets should allow .concat on empty starting values] [adoptedStyleSheets should allow .concat on empty starting values]
expected: FAIL expected: FAIL

View file

@ -74,6 +74,21 @@
[Unsubscription lifecycle] [Unsubscription lifecycle]
expected: FAIL expected: FAIL
[Teardown should be called when subscription is aborted]
expected: FAIL
[Teardowns should be called when subscription is closed by completion]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber pushing an error]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber throwing error]
expected: FAIL
[Teardowns should be called synchronously during addTeardown() if the subscription is inactive]
expected: FAIL
[observable-constructor.any.html] [observable-constructor.any.html]
[Observable constructor] [Observable constructor]
@ -150,3 +165,18 @@
[Unsubscription lifecycle] [Unsubscription lifecycle]
expected: FAIL expected: FAIL
[Teardown should be called when subscription is aborted]
expected: FAIL
[Teardowns should be called when subscription is closed by completion]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber pushing an error]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber throwing error]
expected: FAIL
[Teardowns should be called synchronously during addTeardown() if the subscription is inactive]
expected: FAIL

View file

@ -147,9 +147,6 @@
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade] [list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL expected: FAIL
[background-image sec-fetch-user - Not sent to non-trustworthy same-site destination]
expected: TIMEOUT
[background-image sec-fetch-site - HTTPS downgrade (header not sent)] [background-image sec-fetch-site - HTTPS downgrade (header not sent)]
expected: TIMEOUT expected: TIMEOUT

View file

@ -0,0 +1,6 @@
[empty-iframe-load-event.html]
[Check execution order from nested timeout]
expected: FAIL
[Check execution order on load handler]
expected: FAIL

View file

@ -4,6 +4,3 @@
[Navigating to a different document with link click] [Navigating to a different document with link click]
expected: FAIL expected: FAIL
[Navigating to a different document with form submission]
expected: FAIL

View file

@ -7,9 +7,3 @@
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo'] [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo']
expected: FAIL expected: FAIL
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='']
expected: FAIL
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank']
expected: FAIL

View file

@ -4,3 +4,15 @@
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9] [Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
expected: FAIL expected: FAIL
[0041 set in href="" targeting a frame and clicked]
expected: FAIL
[0080 00FF set in href="" targeting a frame and clicked]
expected: FAIL
[0080 00FF 0100 set in href="" targeting a frame and clicked]
expected: FAIL
[D83D DE0D set in href="" targeting a frame and clicked]
expected: FAIL

View file

@ -1,2 +0,0 @@
[canvas.2d.disconnected-font-size-math.html]
expected: CRASH

View file

@ -1,4 +1,4 @@
[iframe_sandbox_popups_escaping-2.html] [iframe_sandbox_popups_escaping-2.html]
expected: CRASH expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html] [iframe_sandbox_popups_nonescaping-1.html]
type: testharness type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox] [Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL expected: NOTRUN

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-2.html] [iframe_sandbox_popups_nonescaping-2.html]
type: testharness type: testharness
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox] [Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL expected: FAIL

View file

@ -1,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html] [iframe_sandbox_popups_nonescaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox] [Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL expected: NOTRUN

View file

@ -178,3 +178,9 @@
[text/plain: \\n in value (normal form)] [text/plain: \\n in value (normal form)]
expected: FAIL expected: FAIL
[text/plain: Basic File test (formdata event)]
expected: FAIL
[text/plain: 0x00 in filename (formdata event)]
expected: FAIL

View file

@ -5,9 +5,6 @@
[application/x-www-form-urlencoded: Basic File test (normal form)] [application/x-www-form-urlencoded: Basic File test (normal form)]
expected: FAIL expected: FAIL
[application/x-www-form-urlencoded: Basic File test (formdata event)]
expected: FAIL
[application/x-www-form-urlencoded: 0x00 in filename (normal form)] [application/x-www-form-urlencoded: 0x00 in filename (normal form)]
expected: FAIL expected: FAIL
@ -89,9 +86,6 @@
[application/x-www-form-urlencoded: double quote in filename (normal form)] [application/x-www-form-urlencoded: double quote in filename (normal form)]
expected: FAIL expected: FAIL
[application/x-www-form-urlencoded: single quote in name (formdata event)]
expected: FAIL
[application/x-www-form-urlencoded: single quote in value (normal form)] [application/x-www-form-urlencoded: single quote in value (normal form)]
expected: FAIL expected: FAIL
@ -181,3 +175,6 @@
[application/x-www-form-urlencoded: double quote in name (normal form)] [application/x-www-form-urlencoded: double quote in name (normal form)]
expected: FAIL expected: FAIL
[application/x-www-form-urlencoded: double quote in filename (formdata event)]
expected: FAIL

View file

@ -0,0 +1,8 @@
[sibling-imports-not-blocked.any.worker.html]
[Async modules only scheduling microtasks don't block execution of sibling modules]
expected: FAIL
[sibling-imports-not-blocked.any.html]
[Async modules only scheduling microtasks don't block execution of sibling modules]
expected: FAIL

View file

@ -1,3 +0,0 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -3,6 +3,3 @@
expected: TIMEOUT expected: TIMEOUT
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] [The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT expected: TIMEOUT
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: FAIL

View file

@ -266,8 +266,32 @@
[Parsing: <file:/.//p> against <about:blank>] [Parsing: <file:/.//p> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[a-element-xhtml.xhtml?exclude=(file|javascript|mailto)] [a-element-xhtml.xhtml?exclude=(file|javascript|mailto)]
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[a-element-xhtml.xhtml?include=javascript] [a-element-xhtml.xhtml?include=javascript]

View file

@ -270,5 +270,28 @@
[Parsing: <file:/.//p> against <about:blank>] [Parsing: <file:/.//p> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[a-element.html?exclude=(file|javascript|mailto)] [a-element.html?exclude=(file|javascript|mailto)]
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL

View file

@ -453,6 +453,9 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.html?include=mailto] [url-constructor.any.html?include=mailto]
@ -631,6 +634,30 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.html?include=file] [url-constructor.any.html?include=file]
[Parsing: </> against <file://h/C:/a/b>] [Parsing: </> against <file://h/C:/a/b>]
@ -789,6 +816,9 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.html?include=javascript] [url-constructor.any.html?include=javascript]
@ -813,5 +843,26 @@
[Parsing: <non-spec:/a/..//path> against <about:blank>] [Parsing: <non-spec:/a/..//path> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[url-constructor.any.worker.html?include=javascript] [url-constructor.any.worker.html?include=javascript]

View file

@ -1,4 +0,0 @@
[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
expected: TIMEOUT
[StorageKey: test 3P about:blank window opened from a 3P iframe]
expected: TIMEOUT

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,3 @@
[align-content-block-simple-height-change.html]
[Updating a container height should align the content again]
expected: FAIL

View file

@ -16,3 +16,36 @@
[e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(120 30 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30% 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30% 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50% / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 none 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 none 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 none)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 none / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50 / none)" should set the property value]
expected: FAIL

View file

@ -16,3 +16,36 @@
[e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(120 30 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30% 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30% 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50% / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 none 50)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 none 50 / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 none)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 none / 0.5)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50 / none)" should set the property value]
expected: FAIL

View file

@ -11,9 +11,6 @@
[Matching font-weight: '400' should prefer '450 460' over '500'] [Matching font-weight: '400' should prefer '450 460' over '500']
expected: FAIL expected: FAIL
[Matching font-weight: '400' should prefer '500' over '350 399']
expected: FAIL
[Matching font-weight: '400' should prefer '350 399' over '351 398'] [Matching font-weight: '400' should prefer '350 399' over '351 398']
expected: FAIL expected: FAIL
@ -50,30 +47,12 @@
[Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] [Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -10deg' over 'oblique -5deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -5deg' over 'oblique -1deg 0deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -20deg -15deg' over 'oblique -60deg -30deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique 0deg 10deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg'] [Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg']
expected: FAIL expected: FAIL
[Matching font-weight: '430' should prefer '340 398' over '501 550'] [Matching font-weight: '430' should prefer '340 398' over '501 550']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique -10deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg'] [Matching font-style: 'oblique 10deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg']
expected: FAIL expected: FAIL
@ -95,9 +74,6 @@
[Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg'] [Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-weight: '399' should prefer '400' over '450 460'] [Matching font-weight: '399' should prefer '400' over '450 460']
expected: FAIL expected: FAIL
@ -113,9 +89,6 @@
[Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%'] [Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg'] [Matching font-style: 'italic' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: FAIL expected: FAIL
@ -137,9 +110,6 @@
[Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'] [Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-weight: '500' should prefer '450 460' over '400'] [Matching font-weight: '500' should prefer '450 460' over '400']
expected: FAIL expected: FAIL
@ -152,18 +122,12 @@
[Matching font-stretch: '90%' should prefer '50% 80%' over '60% 70%'] [Matching font-stretch: '90%' should prefer '50% 80%' over '60% 70%']
expected: FAIL expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] [Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal'] [Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'italic' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg'] [Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg']
expected: FAIL expected: FAIL
@ -179,12 +143,6 @@
[Matching font-style: 'oblique 10deg' should prefer 'oblique 40deg 50deg' over 'italic'] [Matching font-style: 'oblique 10deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'italic' over 'oblique 0deg 10deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg']
expected: FAIL
[Matching font-weight: '400' should prefer '501 550' over '502 560'] [Matching font-weight: '400' should prefer '501 550' over '502 560']
expected: FAIL expected: FAIL
@ -203,18 +161,12 @@
[Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg'] [Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg'] [Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg'] [Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
expected: FAIL expected: FAIL
[Matching font-weight: '399' should prefer '200 300' over '400']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg'] [Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg']
expected: FAIL expected: FAIL
@ -233,9 +185,6 @@
[Matching font-weight: '430' should prefer '501 550' over '502 560'] [Matching font-weight: '430' should prefer '501 550' over '502 560']
expected: FAIL expected: FAIL
[Matching font-weight: '500' should prefer '500' over '450 460']
expected: FAIL
[Matching font-weight: '500' should prefer '400' over '350 399'] [Matching font-weight: '500' should prefer '400' over '350 399']
expected: FAIL expected: FAIL
@ -257,9 +206,6 @@
[Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg'] [Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 0deg' over 'oblique 5deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic'] [Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: FAIL expected: FAIL
@ -274,3 +220,48 @@
[Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic'] [Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic']
expected: FAIL expected: FAIL
[Matching font-weight: '430' should prefer '350 399' over '340 398']
expected: FAIL
[Matching font-weight: '501' should prefer '503 520' over '500']
expected: FAIL
[Matching font-weight: '501' should prefer '450 460' over '390 410']
expected: FAIL
[Matching font-stretch: '100%' should prefer '100%' over '110% 120%']
expected: FAIL
[Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%']
expected: FAIL
[Matching font-stretch: '110%' should prefer '110% 120%' over '115% 116%']
expected: FAIL
[Matching font-style: 'normal' should prefer 'oblique 20deg 30deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'normal' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 10deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: FAIL

View file

@ -0,0 +1,27 @@
[progress-computed.tentative.html]
[progress(1 from 0 to 1) should be used-value-equivalent to 1]
expected: FAIL
[progress(progress(1 from 0 to 1) from progress(0px from 0px to 1px) to progress(1deg from 0deg to 1deg)) should be used-value-equivalent to 1]
expected: FAIL
[progress(sign(-10px) * 10px from (10px - 10px) to 10px * progress(1deg from 0deg to 1deg)) should be used-value-equivalent to -1]
expected: FAIL
[calc(progress(100px from 0px to 50px) * 10px + 100px) should be used-value-equivalent to 120px]
expected: FAIL
[calc(progress(100 from 0 to sign(50px))) should be used-value-equivalent to 100]
expected: FAIL
[calc(progress(abs(5%) from hypot(3%, 4%) to 10%)) should be used-value-equivalent to 1]
expected: FAIL
[calc(progress(1 from 0 to 1) * 10px) should be used-value-equivalent to 10px]
expected: FAIL
[calc(progress(1 from 0 to 1) * 1s) should be used-value-equivalent to 1s]
expected: FAIL
[calc(progress(1 from 0 to 1) * 1deg) should be used-value-equivalent to 1deg]
expected: FAIL

View file

@ -0,0 +1,66 @@
[progress-serialize.tentative.html]
['progress(100px from 0px to 100px)' as a specified value should serialize as 'calc(1)'.]
expected: FAIL
['scale(progress(100px from 0px to 100px))' as a specified value should serialize as 'scale(calc(1))'.]
expected: FAIL
['scale(progress(100px from 0px to 100px))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(10em from 0px to 10em)' as a specified value should serialize as 'calc(progress(10em from 0px to 10em))'.]
expected: FAIL
['scale(progress(10em from 0px to 10em))' as a specified value should serialize as 'scale(calc(progress(10em from 0px to 10em)))'.]
expected: FAIL
['scale(progress(10em from 0px to 10em))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(10em from 0px to 10rem)' as a specified value should serialize as 'calc(progress(10em from 0px to 10rem))'.]
expected: FAIL
['scale(progress(10em from 0px to 10rem))' as a specified value should serialize as 'scale(calc(progress(10em from 0px to 10rem)))'.]
expected: FAIL
['scale(progress(10em from 0px to 10rem))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(100px from (10px - 10px) to 100px)' as a specified value should serialize as 'calc(1)'.]
expected: FAIL
['scale(progress(100px from (10px - 10px) to 100px))' as a specified value should serialize as 'scale(calc(1))'.]
expected: FAIL
['scale(progress(100px from (10px - 10px) to 100px))' as a computed value should serialize as 'matrix(1, 0, 0, 1, 0, 0)'.]
expected: FAIL
['progress(1% from (10% - 10%) to 100%)' as a specified value should serialize as 'calc(0.01)'.]
expected: FAIL
['scale(progress(1% from (10% - 10%) to 100%))' as a specified value should serialize as 'scale(calc(0.01))'.]
expected: FAIL
['progress(1% from (10% - 10%) to 100%)' as a computed value should serialize as '0.01'.]
expected: FAIL
['scale(progress(1% from (10% - 10%) to 100%))' as a computed value should serialize as 'matrix(0.01, 0, 0, 0.01, 0, 0)'.]
expected: FAIL
['calc(0.5 * progress(100px from 0px to 100px))' as a specified value should serialize as 'calc(0.5)'.]
expected: FAIL
['scale(calc(0.5 * progress(100px from 0px to 100px)))' as a specified value should serialize as 'scale(calc(0.5))'.]
expected: FAIL
['calc(0.5 * progress(100px from 0px to 100px))' as a computed value should serialize as '0.5'.]
expected: FAIL
['scale(calc(0.5 * progress(100px from 0px to 100px)))' as a computed value should serialize as 'matrix(0.5, 0, 0, 0.5, 0, 0)'.]
expected: FAIL
['calc(50px * progress(100px from 0px to 100px))' as a specified value should serialize as 'calc(50px)'.]
expected: FAIL
['calc(1px * progress(abs(10%) from (10% - 10%) to 100% / 10))' as a computed value should serialize as '1px'.]
expected: FAIL

View file

@ -742,3 +742,6 @@
[calc(10 - abs(20 - sign(2 - abs(-20)))) should be used-value-equivalent to -11] [calc(10 - abs(20 - sign(2 - abs(-20)))) should be used-value-equivalent to -11]
expected: FAIL expected: FAIL
[calc((1em + 1px) * (sign(1em - 10px - 10%) + 1)) should be used-value-equivalent to 21px]
expected: FAIL

View file

@ -376,3 +376,813 @@
['scale(calc(calc(tan(NaN))))' as a specified value should serialize as 'scale(calc(NaN))'.] ['scale(calc(calc(tan(NaN))))' as a specified value should serialize as 'scale(calc(NaN))'.]
expected: FAIL expected: FAIL
[cos(0) should be specified-value-equivalent to calc(1)]
expected: FAIL
[cos(0) should be computed-value-equivalent to 1]
expected: FAIL
[cos(0) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(cos(0)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(cos(0)) should be used-value-equivalent to 1]
expected: FAIL
[sin(0) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(0) should be computed-value-equivalent to 0]
expected: FAIL
[sin(0) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(0)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(0)) should be used-value-equivalent to 0]
expected: FAIL
[tan(0) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(0) should be computed-value-equivalent to 0]
expected: FAIL
[tan(0) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(0)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(0)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(0)) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0) + 0.5) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0) + 0.5) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0) + 0.5) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(calc(sin(0) + 0.5)) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(sin(0) + cos(0) + tan(0)) should be used-value-equivalent to 1]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be computed-value-equivalent to 1]
expected: FAIL
[calc(calc(sin(0) + cos(0) + tan(0))) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0) + 0.5) should be specified-value-equivalent to calc(1.5)]
expected: FAIL
[calc(cos(0) + 0.5) should be computed-value-equivalent to 1.5]
expected: FAIL
[calc(cos(0) + 0.5) should be used-value-equivalent to 1.5]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be specified-value-equivalent to calc(1.5)]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be computed-value-equivalent to 1.5]
expected: FAIL
[calc(calc(cos(0) + 0.5)) should be used-value-equivalent to 1.5]
expected: FAIL
[calc(tan(0) + 0.5) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(tan(0) + 0.5) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(tan(0) + 0.5) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(calc(tan(0) + 0.5)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(0deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[cos(0deg) should be computed-value-equivalent to 1]
expected: FAIL
[cos(0deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(cos(0deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(cos(0deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(cos(0deg)) should be used-value-equivalent to 1]
expected: FAIL
[sin(0deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(0deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(0deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(0deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(0deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(0deg)) should be used-value-equivalent to 0]
expected: FAIL
[tan(0deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(0deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(0deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(0deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(0deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(0deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(30deg) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(30deg) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(30deg) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(30deg)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(30deg)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(30deg)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.523599) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.523599)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599rad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.523599rad) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.523599rad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599rad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.523599rad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.523599rad)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(33.333333grad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(33.333333grad) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(33.333333grad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(33.333333grad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(33.333333grad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(33.333333grad)) should be used-value-equivalent to 0.5]
expected: FAIL
[sin(0.08333333turn) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[sin(0.08333333turn) should be computed-value-equivalent to 0.5]
expected: FAIL
[sin(0.08333333turn) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.08333333turn)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(sin(0.08333333turn)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(sin(0.08333333turn)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(60deg) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(60deg) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(60deg) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(60deg)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(60deg)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(60deg)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(66.66666666grad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(66.66666666grad) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(66.66666666grad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(66.66666666grad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(66.66666666grad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(66.66666666grad)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(1.047197551) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(1.047197551)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551rad) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(1.047197551rad) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(1.047197551rad) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551rad)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(1.047197551rad)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(1.047197551rad)) should be used-value-equivalent to 0.5]
expected: FAIL
[cos(0.16666666666turn) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[cos(0.16666666666turn) should be computed-value-equivalent to 0.5]
expected: FAIL
[cos(0.16666666666turn) should be used-value-equivalent to 0.5]
expected: FAIL
[calc(cos(0.16666666666turn)) should be specified-value-equivalent to calc(0.5)]
expected: FAIL
[calc(cos(0.16666666666turn)) should be computed-value-equivalent to 0.5]
expected: FAIL
[calc(cos(0.16666666666turn)) should be used-value-equivalent to 0.5]
expected: FAIL
[tan(45deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(45deg) should be computed-value-equivalent to 1]
expected: FAIL
[tan(45deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(45deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(45deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(45deg)) should be used-value-equivalent to 1]
expected: FAIL
[tan(50grad) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(50grad) should be computed-value-equivalent to 1]
expected: FAIL
[tan(50grad) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(50grad)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(50grad)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(50grad)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.78539816) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.78539816) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.78539816) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.78539816)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.78539816rad) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.78539816rad) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.78539816rad) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816rad)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.78539816rad)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.78539816rad)) should be used-value-equivalent to 1]
expected: FAIL
[tan(0.125turn) should be specified-value-equivalent to calc(1)]
expected: FAIL
[tan(0.125turn) should be computed-value-equivalent to 1]
expected: FAIL
[tan(0.125turn) should be used-value-equivalent to 1]
expected: FAIL
[calc(tan(0.125turn)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(tan(0.125turn)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(tan(0.125turn)) should be used-value-equivalent to 1]
expected: FAIL
[sin(180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(180deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(180deg)) should be used-value-equivalent to 0]
expected: FAIL
[cos(180deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[cos(180deg) should be computed-value-equivalent to -1]
expected: FAIL
[cos(180deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(cos(180deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(cos(180deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(cos(180deg)) should be used-value-equivalent to -1]
expected: FAIL
[tan(180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(180deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(180deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(270deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[sin(270deg) should be computed-value-equivalent to -1]
expected: FAIL
[sin(270deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(sin(270deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(sin(270deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(sin(270deg)) should be used-value-equivalent to -1]
expected: FAIL
[cos(270deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[cos(270deg) should be computed-value-equivalent to 0]
expected: FAIL
[cos(270deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(270deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(cos(270deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(270deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(-180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[sin(-180deg) should be computed-value-equivalent to 0]
expected: FAIL
[sin(-180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(-180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(sin(-180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(-180deg)) should be used-value-equivalent to 0]
expected: FAIL
[cos(-180deg) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[cos(-180deg) should be computed-value-equivalent to -1]
expected: FAIL
[cos(-180deg) should be used-value-equivalent to -1]
expected: FAIL
[calc(cos(-180deg)) should be specified-value-equivalent to calc(-1)]
expected: FAIL
[calc(cos(-180deg)) should be computed-value-equivalent to -1]
expected: FAIL
[calc(cos(-180deg)) should be used-value-equivalent to -1]
expected: FAIL
[tan(-180deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[tan(-180deg) should be computed-value-equivalent to 0]
expected: FAIL
[tan(-180deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(-180deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(tan(-180deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(-180deg)) should be used-value-equivalent to 0]
expected: FAIL
[sin(-270deg) should be specified-value-equivalent to calc(1)]
expected: FAIL
[sin(-270deg) should be computed-value-equivalent to 1]
expected: FAIL
[sin(-270deg) should be used-value-equivalent to 1]
expected: FAIL
[calc(sin(-270deg)) should be specified-value-equivalent to calc(1)]
expected: FAIL
[calc(sin(-270deg)) should be computed-value-equivalent to 1]
expected: FAIL
[calc(sin(-270deg)) should be used-value-equivalent to 1]
expected: FAIL
[cos(-270deg) should be specified-value-equivalent to calc(0)]
expected: FAIL
[cos(-270deg) should be computed-value-equivalent to 0]
expected: FAIL
[cos(-270deg) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(-270deg)) should be specified-value-equivalent to calc(0)]
expected: FAIL
[calc(cos(-270deg)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(-270deg)) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be specified-value-equivalent to calc(2)]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be computed-value-equivalent to 2]
expected: FAIL
[calc(sin(30deg) + cos(60deg) + tan(45deg)) should be used-value-equivalent to 2]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be specified-value-equivalent to calc(2)]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be computed-value-equivalent to 2]
expected: FAIL
[calc(calc(sin(30deg) + cos(60deg) + tan(45deg))) should be used-value-equivalent to 2]
expected: FAIL
[calc(sin(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(-infinity)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(-infinity)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(-infinity)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(-infinity))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(-infinity))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(-infinity))) should be used-value-equivalent to 0]
expected: FAIL
[calc(sin(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(sin(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(sin(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(sin(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(sin(NaN))) should be used-value-equivalent to 0]
expected: FAIL
[calc(cos(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(cos(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(cos(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(cos(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(cos(NaN))) should be used-value-equivalent to 0]
expected: FAIL
[calc(tan(NaN)) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(tan(NaN)) should be computed-value-equivalent to 0]
expected: FAIL
[calc(tan(NaN)) should be used-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(NaN))) should be specified-value-equivalent to calc(NaN)]
expected: FAIL
[calc(calc(tan(NaN))) should be computed-value-equivalent to 0]
expected: FAIL
[calc(calc(tan(NaN))) should be used-value-equivalent to 0]
expected: FAIL

View file

@ -1,3 +1,4 @@
[CSSStyleSheet-constructable-concat.html] [CSSStyleSheet-constructable-concat.html]
expected: FAIL
[adoptedStyleSheets should allow .concat on empty starting values] [adoptedStyleSheets should allow .concat on empty starting values]
expected: FAIL expected: FAIL

View file

@ -1,4 +1,5 @@
[webkit-transition-end-event.html] [webkit-transition-end-event.html]
expected: TIMEOUT
[dispatchEvent of an transitionend event does not trigger a prefixed event handler or listener] [dispatchEvent of an transitionend event does not trigger a prefixed event handler or listener]
expected: FAIL expected: FAIL
@ -12,7 +13,7 @@
expected: FAIL expected: FAIL
[event types for prefixed and unprefixed transitionend event listeners should be named appropriately] [event types for prefixed and unprefixed transitionend event listeners should be named appropriately]
expected: FAIL expected: NOTRUN
[ontransitionend and onwebkittransitionend are not aliases] [ontransitionend and onwebkittransitionend are not aliases]
expected: FAIL expected: FAIL
@ -25,3 +26,9 @@
[onwebkittransitionend event handler should not trigger if an unprefixed event handler also exists] [onwebkittransitionend event handler should not trigger if an unprefixed event handler also exists]
expected: FAIL expected: FAIL
[webkitTransitionEnd event listener should not trigger if an unprefixed event handler also exists]
expected: TIMEOUT
[webkitTransitionEnd event listener is case sensitive]
expected: NOTRUN

View file

@ -74,6 +74,21 @@
[Unsubscription lifecycle] [Unsubscription lifecycle]
expected: FAIL expected: FAIL
[Teardown should be called when subscription is aborted]
expected: FAIL
[Teardowns should be called when subscription is closed by completion]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber pushing an error]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber throwing error]
expected: FAIL
[Teardowns should be called synchronously during addTeardown() if the subscription is inactive]
expected: FAIL
[observable-constructor.any.html] [observable-constructor.any.html]
[Observable constructor] [Observable constructor]
@ -150,3 +165,18 @@
[Unsubscription lifecycle] [Unsubscription lifecycle]
expected: FAIL expected: FAIL
[Teardown should be called when subscription is aborted]
expected: FAIL
[Teardowns should be called when subscription is closed by completion]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber pushing an error]
expected: FAIL
[Teardowns should be called when subscription is closed by subscriber throwing error]
expected: FAIL
[Teardowns should be called synchronously during addTeardown() if the subscription is inactive]
expected: FAIL

View file

@ -1,10 +1,10 @@
[element-img-environment-change.sub.html] [element-img-environment-change.sub.html]
expected: TIMEOUT expected: TIMEOUT
[sec-fetch-site - Not sent to non-trustworthy same-site destination, no attributes] [sec-fetch-site - Not sent to non-trustworthy same-site destination, no attributes]
expected: TIMEOUT expected: FAIL
[sec-fetch-site - Not sent to non-trustworthy cross-site destination, no attributes] [sec-fetch-site - Not sent to non-trustworthy cross-site destination, no attributes]
expected: NOTRUN expected: TIMEOUT
[sec-fetch-mode - Not sent to non-trustworthy same-origin destination, no attributes] [sec-fetch-mode - Not sent to non-trustworthy same-origin destination, no attributes]
expected: NOTRUN expected: NOTRUN

View file

@ -7,6 +7,3 @@
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo'] [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo']
expected: FAIL expected: FAIL
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank']
expected: FAIL

View file

@ -4,12 +4,3 @@
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9] [Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
expected: FAIL expected: FAIL
[0041 set in href="" targeting a frame and clicked]
expected: FAIL
[0080 00FF set in href="" targeting a frame and clicked]
expected: FAIL
[0080 00FF 0100 set in href="" targeting a frame and clicked]
expected: FAIL

View file

@ -0,0 +1,3 @@
[navigation-unload-same-origin.window.html]
[Same-origin navigation started from unload handler must be ignored]
expected: FAIL

View file

@ -0,0 +1,3 @@
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,3 @@
[media_fragment_seek.html]
[Video should seek to time specified in media fragment syntax]
expected: FAIL

View file

@ -1,4 +1,3 @@
[iframe_sandbox_popups_escaping-2.html] [iframe_sandbox_popups_escaping-2.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT expected: FAIL

View file

@ -1,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-1.html] [iframe_sandbox_popups_nonescaping-1.html]
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox] [Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL expected: FAIL

View file

@ -0,0 +1,2 @@
[image-loading-lazy-slow.html]
expected: FAIL

View file

@ -1,3 +1,9 @@
[non-active-document.html] [non-active-document.html]
[DOMParser] [DOMParser]
expected: FAIL expected: FAIL
[createHTMLDocument]
expected: FAIL
[<template>]
expected: FAIL

View file

@ -161,9 +161,6 @@
[multipart/form-data: single quote in value (formdata event)] [multipart/form-data: single quote in value (formdata event)]
expected: FAIL expected: FAIL
[multipart/form-data: backslash in value (formdata event)]
expected: FAIL
[multipart/form-data: 0x00 in value (normal form)] [multipart/form-data: 0x00 in value (normal form)]
expected: FAIL expected: FAIL

View file

@ -8,9 +8,6 @@
[text/plain: 0x00 in filename (normal form)] [text/plain: 0x00 in filename (normal form)]
expected: FAIL expected: FAIL
[text/plain: \\n in name (normal form)]
expected: FAIL
[text/plain: \\n in name (formdata event)] [text/plain: \\n in name (formdata event)]
expected: FAIL expected: FAIL
@ -181,3 +178,6 @@
[text/plain: 0x00 in value (normal form)] [text/plain: 0x00 in value (normal form)]
expected: FAIL expected: FAIL
[text/plain: 0x00 in value (formdata event)]
expected: FAIL

View file

@ -7,3 +7,6 @@
[Check that rel=noopener with target=_parent does a normal load] [Check that rel=noopener with target=_parent does a normal load]
expected: FAIL expected: FAIL
[Check that rel=noopener with target=_self does a normal load]
expected: FAIL

View file

@ -0,0 +1,8 @@
[sibling-imports-not-blocked.any.html]
[Async modules only scheduling microtasks don't block execution of sibling modules]
expected: FAIL
[sibling-imports-not-blocked.any.worker.html]
[Async modules only scheduling microtasks don't block execution of sibling modules]
expected: FAIL

View file

@ -2,6 +2,3 @@
expected: TIMEOUT expected: TIMEOUT
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] [The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT expected: TIMEOUT
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: FAIL

View file

@ -1,10 +1,9 @@
[promise-job-entry-different-function-realm.html] [promise-job-entry-different-function-realm.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise] [Fulfillment handler on fulfilled promise]
expected: FAIL expected: FAIL
[Rejection handler on pending-then-rejected promise] [Rejection handler on pending-then-rejected promise]
expected: TIMEOUT expected: FAIL
[Thenable resolution] [Thenable resolution]
expected: FAIL expected: FAIL
@ -13,4 +12,4 @@
expected: FAIL expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise] [Fulfillment handler on pending-then-fulfilled promise]
expected: TIMEOUT expected: FAIL

View file

@ -94,10 +94,10 @@
expected: FAIL expected: FAIL
[mime-type 16 : text/html;charset=\x0bgbk] [mime-type 16 : text/html;charset=\x0bgbk]
expected: FAIL expected: TIMEOUT
[mime-type 17 : text/html;charset=\x0cgbk] [mime-type 17 : text/html;charset=\x0cgbk]
expected: TIMEOUT expected: NOTRUN
[mime-type 18 : text/html;\x0bcharset=gbk] [mime-type 18 : text/html;\x0bcharset=gbk]
expected: NOTRUN expected: NOTRUN

View file

@ -0,0 +1,2 @@
[strategy-worker-terminate.html]
expected: CRASH

View file

@ -540,7 +540,31 @@
[Parsing: <file:/.//p> against <about:blank>] [Parsing: <file:/.//p> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[a-element-xhtml.xhtml?exclude=(file|javascript|mailto)] [a-element-xhtml.xhtml?exclude=(file|javascript|mailto)]
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[a-element-xhtml.xhtml?include=mailto] [a-element-xhtml.xhtml?include=mailto]

View file

@ -540,7 +540,30 @@
[Parsing: <file:/.//p> against <about:blank>] [Parsing: <file:/.//p> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[a-element.html?include=javascript] [a-element.html?include=javascript]
[a-element.html?exclude=(file|javascript|mailto)] [a-element.html?exclude=(file|javascript|mailto)]
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL

View file

@ -881,6 +881,27 @@
[Parsing: <non-spec:/a/..//path> against <about:blank>] [Parsing: <non-spec:/a/..//path> against <about:blank>]
expected: FAIL expected: FAIL
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[url-constructor.any.worker.html?include=file] [url-constructor.any.worker.html?include=file]
[Parsing: </> against <file://h/C:/a/b>] [Parsing: </> against <file://h/C:/a/b>]
@ -1039,6 +1060,9 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.worker.html?exclude=(file|javascript|mailto)] [url-constructor.any.worker.html?exclude=(file|javascript|mailto)]
[Parsing: </> against <file://h/C:/a/b>] [Parsing: </> against <file://h/C:/a/b>]
@ -1215,6 +1239,30 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: <///test> against <http://example.org/>]
expected: FAIL
[Parsing: <///\\//\\//test> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../> against <http://example.org/>]
expected: FAIL
[Parsing: <///example.org/../path/../../path> against <http://example.org/>]
expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.html?include=file] [url-constructor.any.html?include=file]
[Parsing: </> against <file://h/C:/a/b>] [Parsing: </> against <file://h/C:/a/b>]
@ -1373,6 +1421,9 @@
[Parsing: <file:/.//p> without base] [Parsing: <file:/.//p> without base]
expected: FAIL expected: FAIL
[Parsing: </\\//\\/a/../> against <file:///>]
expected: FAIL
[url-constructor.any.html?include=javascript] [url-constructor.any.html?include=javascript]

View file

@ -1,5 +1,4 @@
[audiocontext-not-fully-active.html] [audiocontext-not-fully-active.html]
expected: TIMEOUT
[frame in navigated remote-site frame] [frame in navigated remote-site frame]
expected: FAIL expected: FAIL

View file

@ -0,0 +1,4 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
expected: TIMEOUT
[StorageKey: test 3P about:blank window opened from a 3P iframe]
expected: TIMEOUT

View file

@ -70,7 +70,18 @@ promise_test(async() => {
await garbageCollect(); await garbageCollect();
const chunks = await read_all_chunks(stream, { perform_gc: true }); const chunks = await read_all_chunks(stream, { perform_gc: true });
assert_array_equals(chunks, input_arr); assert_array_equals(chunks, input_arr);
}, "Blob.stream() garbage collection of blob shouldn't break stream" + }, "Blob.stream() garbage collection of blob shouldn't break stream " +
"consumption")
promise_test(async() => {
const input_arr = [8, 241, 48, 123, 151];
const typed_arr = new Uint8Array(input_arr);
let blob = new Blob([typed_arr]);
const chunksPromise = read_all_chunks(blob.stream());
// It somehow matters to do GC here instead of doing `perform_gc: true`
await garbageCollect();
assert_array_equals(await chunksPromise, input_arr);
}, "Blob.stream() garbage collection of stream shouldn't break stream " +
"consumption") "consumption")
promise_test(async () => { promise_test(async () => {

View file

@ -140,27 +140,8 @@
</table> </table>
<h2>SVG title</h2> <!-- SVG: -> /svg-aam/name/ -->
<svg viewbox="0 0 300 100">
<circle cx="26" cy="26" r="25" data-expectedlabel="circle label" data-testname="svg: circle > title" class="ex">
<title>circle label</title>
</circle>
<rect x="60" y="1" width="50" height="50" data-expectedlabel="rect label" data-testname="svg: rect > title" class="ex">
<title>rect label</title>
</rect>
<polygon points="100,100 150,25 150,75 200,0" fill="none" stroke="black" data-expectedlabel="polygon label" data-testname="svg: polygon > title" class="ex">
<title>polygon label</title>
</polygon>
</svg><br>
<svg viewbox="0 0 200 90">
<g fill="white" stroke="green" stroke-width="5" data-expectedlabel="group label" data-testname="svg: g > title" class="ex">
<title>group label</title>
<circle cx="40" cy="40" r="25" />
<circle cx="60" cy="60" r="25" />
</g>
</svg><br>
<!-- todo: more SVG tests -->
<!-- todo: Ruby? --> <!-- todo: Ruby? -->
<!-- todo: MathML? --> <!-- todo: MathML? -->

View file

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Used when testing access of a closed/detached window's properties --> <!-- Used when testing access of a closed/detached window's properties -->
<html> <html>
<body onunload="opener.postMessage('closed', '*');"> <body onpagehide="opener.postMessage('closed', '*');">
<script> <script>
opener.postMessage("opened", "*"); opener.postMessage("opened", "*");
</script> </script>

View file

@ -14,6 +14,8 @@
["meh" , "SVG"], ["meh" , "SVG"],
["svg" , "SVG"], ["svg" , "SVG"],
["script" , "SVG"], ["script" , "SVG"],
["style" , "HTML"],
["link" , "HTML"]
]; ];
test_cases.forEach(([localName, namespace]) => { test_cases.forEach(([localName, namespace]) => {

View file

@ -8,7 +8,7 @@
watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => { watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => {
assert_equals(e.blockedURI, "eval"); assert_equals(e.blockedURI, "eval");
assert_equals(e.lineNumber, 15); assert_equals(e.lineNumber, 15);
assert_equals(e.columnNumber, 12); assert_equals(e.columnNumber, 13);
})); }));
try { try {

View file

@ -8,7 +8,7 @@
watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => { watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => {
assert_equals(e.blockedURI, "inline"); assert_equals(e.blockedURI, "inline");
assert_equals(e.lineNumber, 15); assert_equals(e.lineNumber, 15);
assert_equals(e.columnNumber, 8); assert_equals(e.columnNumber, 9);
})); }));
}, "Inline violations have a blockedURI of 'inline'"); }, "Inline violations have a blockedURI of 'inline'");
</script> </script>

View file

@ -17,7 +17,7 @@
assert_equals(e.disposition, "enforce"); assert_equals(e.disposition, "enforce");
assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/support/inject-image.sub.js"); assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/support/inject-image.sub.js");
assert_equals(e.lineNumber, 2); assert_equals(e.lineNumber, 2);
assert_equals(e.columnNumber, 0); assert_equals(e.columnNumber, 1);
assert_equals(e.statusCode, 200); assert_equals(e.statusCode, 200);
})); }));

View file

@ -17,7 +17,7 @@
assert_equals(e.disposition, "enforce"); assert_equals(e.disposition, "enforce");
assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub.html"); assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub.html");
assert_equals(e.lineNumber, 25); assert_equals(e.lineNumber, 25);
assert_equals(e.columnNumber, 4); assert_equals(e.columnNumber, 5);
assert_equals(e.statusCode, 200); assert_equals(e.statusCode, 200);
})); }));

View file

@ -17,7 +17,7 @@
assert_equals(e.disposition, "enforce"); assert_equals(e.disposition, "enforce");
assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/support/inject-image.sub.js"); assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/support/inject-image.sub.js");
assert_equals(e.lineNumber, 2); assert_equals(e.lineNumber, 2);
assert_equals(e.columnNumber, 0); assert_equals(e.columnNumber, 1);
assert_equals(e.statusCode, 200); assert_equals(e.statusCode, 200);
})); }));

View file

@ -17,7 +17,7 @@
assert_equals(e.disposition, "enforce"); assert_equals(e.disposition, "enforce");
assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html"); assert_equals(new URL(e.sourceFile).pathname, "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html");
assert_equals(e.lineNumber, 25); assert_equals(e.lineNumber, 25);
assert_equals(e.columnNumber, 4); assert_equals(e.columnNumber, 5);
assert_equals(e.statusCode, 200); assert_equals(e.statusCode, 200);
})); }));

View file

@ -9,7 +9,7 @@
assert_equals(e.blockedURI, "eval"); assert_equals(e.blockedURI, "eval");
assert_equals(e.sourceFile, "blob"); assert_equals(e.sourceFile, "blob");
assert_equals(e.lineNumber, 3); assert_equals(e.lineNumber, 3);
assert_equals(e.columnNumber, 16); assert_equals(e.columnNumber, 17);
})); }));
var scriptText = ` var scriptText = `

View file

@ -9,7 +9,7 @@
assert_equals(e.blockedURI, "eval"); assert_equals(e.blockedURI, "eval");
assert_equals(e.sourceFile, "data"); assert_equals(e.sourceFile, "data");
assert_equals(e.lineNumber, 3); assert_equals(e.lineNumber, 3);
assert_equals(e.columnNumber, 16); assert_equals(e.columnNumber, 17);
})); }));
var scriptText = ` var scriptText = `

View file

@ -36,28 +36,28 @@
.then(t.step_func(e => { .then(t.step_func(e => {
assert_equals(e.blockedURI, "inline"); assert_equals(e.blockedURI, "inline");
assert_equals(e.lineNumber, 118); assert_equals(e.lineNumber, 118);
assert_in_array(e.columnNumber, [4, 6]); assert_in_array(e.columnNumber, [5, 7]);
assert_equals(e.target, document, "Elements created in this document, but pushed into a same-origin frame trigger on that frame's document, not on this frame's document."); assert_equals(e.target, document, "Elements created in this document, but pushed into a same-origin frame trigger on that frame's document, not on this frame's document.");
return watcher.wait_for('securitypolicyviolation'); return watcher.wait_for('securitypolicyviolation');
})) }))
.then(t.step_func(e => { .then(t.step_func(e => {
assert_equals(e.blockedURI, "inline"); assert_equals(e.blockedURI, "inline");
assert_equals(e.lineNumber, 131); assert_equals(e.lineNumber, 131);
assert_in_array(e.columnNumber, [4, 59]); assert_in_array(e.columnNumber, [5, 60]);
assert_equals(e.target, document, "Elements created in this document, but pushed into a same-origin frame trigger on that frame's document, not on this frame's document."); assert_equals(e.target, document, "Elements created in this document, but pushed into a same-origin frame trigger on that frame's document, not on this frame's document.");
return watcher.wait_for('securitypolicyviolation'); return watcher.wait_for('securitypolicyviolation');
})) }))
.then(t.step_func(e => { .then(t.step_func(e => {
assert_equals(e.blockedURI, "inline"); assert_equals(e.blockedURI, "inline");
assert_equals(e.lineNumber, 139); assert_equals(e.lineNumber, 139);
assert_in_array(e.columnNumber, [4, 6]); assert_in_array(e.columnNumber, [5, 7]);
assert_equals(e.target, document, "Inline event handlers for disconnected elements target the document."); assert_equals(e.target, document, "Inline event handlers for disconnected elements target the document.");
return watcher.wait_for('securitypolicyviolation'); return watcher.wait_for('securitypolicyviolation');
})) }))
.then(t.step_func(e => { .then(t.step_func(e => {
assert_equals(e.blockedURI, "inline"); assert_equals(e.blockedURI, "inline");
assert_equals(e.lineNumber, 0); assert_equals(e.lineNumber, 0);
assert_equals(e.columnNumber, 0); assert_equals(e.columnNumber, 1);
assert_equals(e.target, document, "Inline event handlers for elements disconnected after triggering target the document."); assert_equals(e.target, document, "Inline event handlers for elements disconnected after triggering target the document.");
})) }))
.then(t.step_func_done(_ => { .then(t.step_func_done(_ => {

View file

@ -0,0 +1,42 @@
<!DOCTYPE html>
<title>Federated Credential Management API disconnect() basic errors.</title>
<link rel="help" href="https://fedidcg.github.io/FedCM">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<body>
<script type="module">
import {fedcm_test,
mark_signed_in,
set_fedcm_cookie,
fedcm_get_and_select_first_account,
manifest_origin,
request_options_with_mediation_required} from './support/fedcm-helper.sub.js';
fedcm_test(async t => {
await mark_signed_in();
await set_fedcm_cookie();
// Get at least one connected account that can be disconnected.
const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required());
const manifest = `${manifest_origin}/\
credential-management/support/fedcm/manifest.py`;
let disconnect = IdentityCredential.disconnect({
configURL: manifest,
clientId: '1'
});
await promise_rejects_dom(t, 'InvalidStateError', disconnect);
disconnect = IdentityCredential.disconnect({
configURL: manifest,
accountHint: 'hint'
});
await promise_rejects_dom(t, 'InvalidStateError', disconnect);
disconnect = IdentityCredential.disconnect({
clientId: '1',
accountHint: 'hint'
});
return promise_rejects_dom(t, 'InvalidStateError', disconnect);
}, "disconnect requires 3 parameters: configURL, clientId, and accountHint");
</script>

View file

@ -0,0 +1,47 @@
<!DOCTYPE html>
<title>Federated Credential Management API disconnect() tests in iframes.</title>
<link rel="help" href="https://fedidcg.github.io/FedCM">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<body>
<script type="module">
import {alt_manifest_origin,
alt_request_options_with_mediation_required,
fedcm_test,
fedcm_get_and_select_first_account} from './support/fedcm-helper.sub.js';
async function createIframeAndWaitForMessage(test, iframeUrl, allow = false) {
const messageWatcher = new EventWatcher(test, window, "message");
let iframe = document.createElement("iframe");
iframe.src = iframeUrl;
if (allow) {
iframe.allow = "identity-credentials-get";
}
document.body.appendChild(iframe);
const message = await messageWatcher.wait_for("message");
return message.data;
}
fedcm_test(async t => {
const message = await createIframeAndWaitForMessage(t, 'support/fedcm/disconnect-iframe.html');
assert_equals(message.result, "Pass");
}, 'Same-origin iframe does not need explicit identity-credentials-get');
fedcm_test(async t => {
const message = await createIframeAndWaitForMessage(t,
'https://{{hosts[alt][]}}:{{ports[https][0]}}/credential-management/support/fedcm/disconnect-iframe.html?skip_get');
assert_equals(message.result, "Failed disconnect");
assert_equals(message.errorType, "NotAllowedError");
}, 'Cross-origin iframe fails disconnect() without explicit identity-credentials-get');
fedcm_test(async t => {
const message = await createIframeAndWaitForMessage(t,
'https://{{hosts[alt][]}}:{{ports[https][0]}}/credential-management/support/fedcm/disconnect-iframe.html',
/*allow=*/true);
assert_equals(message.result, "Pass");
}, 'Cross-origin iframe can disconnect with explicit identity-credentials-get');
</script>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<title>Federated Credential Management API revoke() tests.</title> <title>Federated Credential Management API disconnect() tests.</title>
<link rel="help" href="https://fedidcg.github.io/FedCM"> <link rel="help" href="https://fedidcg.github.io/FedCM">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
@ -12,18 +12,18 @@
import {fedcm_test, import {fedcm_test,
mark_signed_in, mark_signed_in,
set_fedcm_cookie, set_fedcm_cookie,
revoke_options, disconnect_options,
fedcm_get_and_select_first_account, fedcm_get_and_select_first_account,
request_options_with_mediation_required, request_options_with_mediation_required,
alt_manifest_origin, alt_manifest_origin,
alt_request_options_with_mediation_required, alt_request_options_with_mediation_required,
alt_revoke_options, alt_disconnect_options,
set_alt_fedcm_cookie} from './support/fedcm-helper.sub.js'; set_alt_fedcm_cookie} from './support/fedcm-helper.sub.js';
fedcm_test(async t => { fedcm_test(async t => {
await mark_signed_in(); await mark_signed_in();
await set_fedcm_cookie(); await set_fedcm_cookie();
// Get at least one connected account that can be revoked. // Get at least one connected account that can be disconnected.
const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required());
// The IDP implementation will accept any account hint, so this is really testing that the user // The IDP implementation will accept any account hint, so this is really testing that the user
// agent eventually stops sending the requests to the IDP. // agent eventually stops sending the requests to the IDP.
@ -32,50 +32,53 @@ fedcm_test(async t => {
return new Promise(async resolve => { return new Promise(async resolve => {
while (true) { while (true) {
try { try {
await IdentityCredential.revoke(revoke_options("1234")); await IdentityCredential.disconnect(disconnect_options("1234"));
} catch(e) { } catch(e) {
resolve(); resolve();
break; break;
} }
} }
}); });
}, "Repeatedly calling revoke should eventually fail"); }, "Repeatedly calling disconnect should eventually fail");
fedcm_test(async t => { fedcm_test(async t => {
const revoke = IdentityCredential.revoke(revoke_options("nonExistent")); const disconnect = IdentityCredential.disconnect(
return promise_rejects_dom(t, 'NetworkError', revoke); disconnect_options("nonExistent"));
}, 'Test that revoke fails when there is no account to revoke'); return promise_rejects_dom(t, 'NetworkError', disconnect);
}, 'Test that disconnect fails when there is no account to disconnect');
fedcm_test(async t => { fedcm_test(async t => {
const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required());
return IdentityCredential.revoke(revoke_options("1234")); return IdentityCredential.disconnect(disconnect_options("1234"));
}, 'Test that revoke succeeds when there is an account to revoke'); }, 'Test that disconnect succeeds when there is an account to disconnect');
fedcm_test(async t => { fedcm_test(async t => {
const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required());
await IdentityCredential.revoke(revoke_options("1234")); await IdentityCredential.disconnect(disconnect_options("1234"));
const revoke = IdentityCredential.revoke(revoke_options("1234")); const disconnect = IdentityCredential.disconnect(disconnect_options("1234"));
return promise_rejects_dom(t, 'NetworkError', revoke); return promise_rejects_dom(t, 'NetworkError', disconnect);
}, 'Test that revoking the same account twice results in failure.'); }, 'Test that disconnecting the same account twice results in failure.');
fedcm_test(async t => { fedcm_test(async t => {
const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required());
// A connected account is guaranteed by the above, and IDP accepts any account hint, so this tests // A connected account is guaranteed by the above, and IDP accepts any account hint, so this tests
// that the user agent allows the request to go through to the IDP. // that the user agent allows the request to go through to the IDP.
return IdentityCredential.revoke(revoke_options("noMatch")); return IdentityCredential.disconnect(disconnect_options("noMatch"));
}, 'Revoke passing an incorrect ID can still succeed'); }, 'Disconnect passing an incorrect ID can still succeed');
fedcm_test(async t => { fedcm_test(async t => {
await set_alt_fedcm_cookie(); await set_alt_fedcm_cookie();
await mark_signed_in(alt_manifest_origin); await mark_signed_in(alt_manifest_origin);
await fedcm_get_and_select_first_account(t, alt_request_options_with_mediation_required()); await fedcm_get_and_select_first_account(t, alt_request_options_with_mediation_required());
await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); await fedcm_get_and_select_first_account(t,
request_options_with_mediation_required());
// Await the first revocation since they cannot happen in parallel. Both should succeed. // Await the first disconnect since they cannot happen in parallel. Both
await IdentityCredential.revoke(revoke_options("1")); // should succeed.
return IdentityCredential.revoke(alt_revoke_options("2")); await IdentityCredential.disconnect(disconnect_options("1"));
}, 'Revocation is bound to each IDP'); return IdentityCredential.disconnect(alt_disconnect_options("2"));
}, 'Disconnect is bound to each IDP');
</script> </script>

View file

@ -49,10 +49,10 @@ fedcm_test(async t => {
fedcm_test(async t => { fedcm_test(async t => {
let options = request_options_with_domain_hint( let options = request_options_with_domain_hint(
'manifest_with_two_accounts.json', '*'); 'manifest_with_two_accounts.json', 'any');
await select_manifest(t, options); await select_manifest(t, options);
const cred = await fedcm_get_and_select_first_account(t, options); const cred = await fedcm_get_and_select_first_account(t, options);
assert_equals(cred.token, 'account_id=john_doe'); assert_equals(cred.token, 'account_id=john_doe');
}, "Domain hint '*' matches an account with any domain hint."); }, "Domain hint 'any' matches an account with any domain hint.");
</script> </script>

View file

@ -213,7 +213,7 @@ export function fedcm_get_and_select_first_account(t, options) {
return credentialPromise; return credentialPromise;
} }
export function revoke_options(accountHint, manifest_filename) { export function disconnect_options(accountHint, manifest_filename) {
if (manifest_filename === undefined) { if (manifest_filename === undefined) {
manifest_filename = "manifest.py"; manifest_filename = "manifest.py";
} }
@ -226,7 +226,7 @@ credential-management/support/fedcm/${manifest_filename}`;
}; };
} }
export function alt_revoke_options(accountHint, manifest_filename) { export function alt_disconnect_options(accountHint, manifest_filename) {
if (manifest_filename === undefined) { if (manifest_filename === undefined) {
manifest_filename = "manifest.py"; manifest_filename = "manifest.py";
} }

View file

@ -1,4 +1,4 @@
import { RequestTokenStatus, LogoutRpsStatus, RevokeStatus, FederatedAuthRequest, FederatedAuthRequestReceiver } from '/gen/third_party/blink/public/mojom/webid/federated_auth_request.mojom.m.js'; import { RequestTokenStatus, LogoutRpsStatus, DisconnectStatus, FederatedAuthRequest, FederatedAuthRequestReceiver } from '/gen/third_party/blink/public/mojom/webid/federated_auth_request.mojom.m.js';
function toMojoTokenStatus(status) { function toMojoTokenStatus(status) {
return RequestTokenStatus["k" + status]; return RequestTokenStatus["k" + status];
@ -17,7 +17,7 @@ export class MockFederatedAuthRequest {
this.selected_identity_provider_config_url_ = null; this.selected_identity_provider_config_url_ = null;
this.status_ = RequestTokenStatus.kError; this.status_ = RequestTokenStatus.kError;
this.logoutRpsStatus_ = LogoutRpsStatus.kError; this.logoutRpsStatus_ = LogoutRpsStatus.kError;
this.revokeStatus_ = RevokeStatus.kError; this.disconnectStatus_ = DisconnectStatus.kError;
this.returnPending_ = false; this.returnPending_ = false;
this.pendingPromiseResolve_ = null; this.pendingPromiseResolve_ = null;
} }
@ -53,13 +53,13 @@ export class MockFederatedAuthRequest {
this.logoutRpsStatus_ = validated; this.logoutRpsStatus_ = validated;
} }
// Causes the subsequent `FederatedCredential.revoke` to reject with this // Causes the subsequent `FederatedCredential.disconnect` to reject with this
// status. // status.
revokeReturn(status) { disconnectReturn(status) {
let validated = RevokeStatus[status]; let validated = DisconnectStatus[status];
if (validated === undefined) if (validated === undefined)
throw new Error("Invalid status: " + status); throw new Error("Invalid status: " + status);
this.revokeStatus_ = validated; this.disconnectStatus_ = validated;
} }
// Implements // Implements
@ -106,9 +106,9 @@ export class MockFederatedAuthRequest {
}); });
} }
async revoke(provider, client_id, account_id) { async disconnect(provider, client_id, account_id) {
return Promise.resolve({ return Promise.resolve({
status: this.revokeStatus_ status: this.disconnectStatus_
}); });
} }
@ -135,7 +135,7 @@ export class MockFederatedAuthRequest {
this.selected_identity_provider_config_url_ = null; this.selected_identity_provider_config_url_ = null;
this.status_ = RequestTokenStatus.kError; this.status_ = RequestTokenStatus.kError;
this.logoutRpsStatus_ = LogoutRpsStatus.kError; this.logoutRpsStatus_ = LogoutRpsStatus.kError;
this.revokeStatus_ = RevokeStatus.kError; this.disconnectStatus_ = DisconnectStatus.kError;
this.receiver_.$.close(); this.receiver_.$.close();
this.interceptor_.stop(); this.interceptor_.stop();

View file

@ -0,0 +1,61 @@
<!doctype html>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script type="module">
import {disconnect_options,
request_options_with_mediation_required,
set_fedcm_cookie, manifest_origin} from './../fedcm-helper.sub.js';
// Loading this iframe in the test will make a FedCM call on load, and
// trigger a postMessage upon completion.
//
// message {
// string result: "Pass" | "Failed get" | "Failed disconnect"
// string errorType: error.name
// }
async function attemptDisconnect() {
try {
await IdentityCredential.disconnect(disconnect_options("1234"));
window.top.postMessage({result: "Pass"}, "*");
} catch (error) {
window.top.postMessage({result: "Failed disconnect", errorType: error.name},
"*");
}
}
window.onload = async () => {
const params = new URLSearchParams(document.location.search);
if (params.has("skip_get")) {
attemptDisconnect();
return;
}
// Use this variable to stop trying to select an account once the get()
// promise is resolved.
let cancelHelper = false;
try {
const credentialPromise = navigator.credentials.get(request_options_with_mediation_required());
async function helper() {
try {
if (cancelHelper)
return;
await window.test_driver.select_fedcm_account(0);
} catch (ex) {
setTimeout(helper, 100);
}
}
helper();
const cred = await credentialPromise;
await set_fedcm_cookie(manifest_origin);
// Now that we have a get(), attempt to disconnect permission.
attemptDisconnect();
} catch (error) {
window.top.postMessage({result: "Failed get", errorType: error.name}, '*');
}
// In case the get() call fails and no accounts may be selected, force the
// helper function to stop calling itself.
cancelHelper = true;
};
</script>

View file

@ -13,7 +13,7 @@ def main(request, response):
"accounts_endpoint": "accounts.py", "accounts_endpoint": "accounts.py",
"client_metadata_endpoint": "client_metadata.py", "client_metadata_endpoint": "client_metadata.py",
"id_assertion_endpoint": "token.py", "id_assertion_endpoint": "token.py",
"revocation_endpoint": "revoke.py", "disconnect_endpoint": "disconnect.py",
"login_url": "login.html" "login_url": "login.html"
} }
""" """

View file

@ -2,6 +2,6 @@
"accounts_endpoint": "accounts.py", "accounts_endpoint": "accounts.py",
"client_metadata_endpoint": "client_metadata.py", "client_metadata_endpoint": "client_metadata.py",
"id_assertion_endpoint": "/common/redirect.py?location=/credential-management/support/fedcm/token.py&status=308", "id_assertion_endpoint": "/common/redirect.py?location=/credential-management/support/fedcm/token.py&status=308",
"revocation_endpoint": "revoke.py", "disconnect_endpoint": "disconnect.py",
"login_url": "login.html" "login_url": "login.html"
} }

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-align/#distribution-block">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
body {
margin: 0;
}
</style>
<div id="target" style="height: 200px;">
<div style="align-content: center; height: 100%;">
<div style="height: 60px;" id="content"></div>
</div>
</div>
<script>
// Blink has an optimization that it skips child layout if only the container
// height is changed. This test ensures the opmiziation is not used for
// a non-normal align-content value.
test(() => {
document.body.offsetTop;
assert_equals(content.offsetTop, (200 - 60) / 2);
target.style.height = '100px';
assert_equals(content.offsetTop, (100 - 60) / 2);
}, 'Updating a container height should align the content again');
</script>

View file

@ -44,6 +44,7 @@ test_allowed_declaration('inset-inline-end');
test_allowed_declaration('inset-block'); test_allowed_declaration('inset-block');
test_allowed_declaration('inset-inline'); test_allowed_declaration('inset-inline');
test_allowed_declaration('inset'); test_allowed_declaration('inset');
test_allowed_declaration('inset-area', 'all');
// Margin properties are allowed // Margin properties are allowed
test_allowed_declaration('margin-top'); test_allowed_declaration('margin-top');

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<title>CSS Anchor Positioning: inset-area getComputedStyle()</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position/#inset-area">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/computed-testcommon.js"></script>
<script src="/css/support/inheritance-testcommon.js"></script>
<div id="container">
<div id="target"></div>
</div>
<script>
test_computed_value("inset-area", "none");
test_computed_value("inset-area", "all");
test_computed_value("inset-area", "x-start");
test_computed_value("inset-area", "center");
test_computed_value("inset-area", "all / all", "all");
test_computed_value("inset-area", "top center");
test_computed_value("inset-area", "bottom center / all", "center bottom");
test_computed_value("inset-area", "x-start center x-end", "x-start x-end");
test_computed_value("inset-area", "x-start / x-end");
assert_not_inherited("inset-area", "none", "all");
</script>

View file

@ -0,0 +1,49 @@
<!DOCTYPE html>
<title>CSS Anchor Positioning: inset-area parsing</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position/#inset-area">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<body>
<script>
test_valid_value("inset-area", "none");
test_valid_value("inset-area", "all");
test_valid_value("inset-area", "start");
test_valid_value("inset-area", "end");
test_valid_value("inset-area", "top");
test_valid_value("inset-area", "left");
test_valid_value("inset-area", "bottom");
test_valid_value("inset-area", "right");
test_valid_value("inset-area", "self-start");
test_valid_value("inset-area", "self-end");
test_valid_value("inset-area", "x-start");
test_valid_value("inset-area", "x-end");
test_valid_value("inset-area", "x-self-start");
test_valid_value("inset-area", "x-self-end");
test_valid_value("inset-area", "y-start");
test_valid_value("inset-area", "y-end");
test_valid_value("inset-area", "y-self-start");
test_valid_value("inset-area", "y-self-end");
test_valid_value("inset-area", "all / all", "all");
test_valid_value("inset-area", "top / all", "top");
test_valid_value("inset-area", "all / top", "all / top");
test_valid_value("inset-area", "start end", "all");
test_valid_value("inset-area", "center end start", "all");
test_valid_value("inset-area", "center x-end x-start", "x-start x-end");
test_valid_value("inset-area", "center end start / top center bottom", "all / top bottom");
test_valid_value("inset-area", "end center / start", "center end / start");
test_valid_value("inset-area", "bottom / left");
test_valid_value("inset-area", "center start", "start center");
// Valid to parse and compute, but resolves to 'none'.
test_valid_value("inset-area", "x-start / x-start");
test_invalid_value("inset-area", "/ all");
test_invalid_value("inset-area", "none / none");
test_invalid_value("inset-area", "start / none");
test_invalid_value("inset-area", "none / start");
test_invalid_value("inset-area", "center center");
test_invalid_value("inset-area", "top left top");
test_invalid_value("inset-area", "x-start end");
test_invalid_value("inset-area", "bottom left");
</script>

View file

@ -13,6 +13,18 @@
vertical-align: bottom; vertical-align: bottom;
} }
div.image
{
height: 288px;
width: 514px;
}
div#multiple
{
background-image: url('../background-origin/support/yellow-orange-blue-160x160.png');
margin-top: 8px;
}
div.light-blue-border div.light-blue-border
{ {
border: 16px solid rgba(60, 150, 255, 0.4); border: 16px solid rgba(60, 150, 255, 0.4);
@ -23,6 +35,6 @@
} }
</style> </style>
<div style="height: 288px; width: 514px;"><img src="../background-origin/support/yellow-orange-blue-160x160.png" alt="Image download support must be enabled"></div><div class="light-blue-border"></div><br> <div class="image"><img src="../background-origin/support/yellow-orange-blue-160x160.png" alt="Image download support must be enabled"></div><div class="light-blue-border"></div><br>
<div style="height: 288px; width: 514px; background-image: url('../background-origin/support/yellow-orange-blue-160x160.png'); margin-top: 8px;"></div><div class="light-blue-border"></div> <div class="image" id="multiple"></div><div class="light-blue-border"></div>

View file

@ -10,9 +10,16 @@
div div
{ {
display: inline-block; display: inline-block;
position: relative;
vertical-align: bottom; vertical-align: bottom;
} }
div.image
{
height: 288px;
width: 514px;
}
img img
{ {
clip: rect(15px, auto, auto, 15px); clip: rect(15px, auto, auto, 15px);
@ -25,10 +32,9 @@
{ {
border: 16px solid rgba(60, 150, 255, 0.4); border: 16px solid rgba(60, 150, 255, 0.4);
height: 256px; height: 256px;
position: relative;
right: 514px; right: 514px;
width: 482px; width: 482px;
} }
</style> </style>
<div style="height: 288px; width: 514px; position: relative;"><img src="../background-origin/support/yellow-orange-blue-160x160.png" alt="Image download support must be enabled"></div><div class="light-blue-border"></div> <div class="image"><img src="../background-origin/support/yellow-orange-blue-160x160.png" alt="Image download support must be enabled"></div><div class="light-blue-border"></div>

Some files were not shown because too many files have changed in this diff Show more