Bug 1840438 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

We fail 6 subtests (2 groups of 3 subtests) in this WPT test:
https://wpt.fyi/results/css/motion/animation/offset-interpolation.html

At first glance, it looks like the test is exercising the same interpolation using CSS Transitions, CSS Animations, and Web Animations.  We fail this particular set of subtests *specifically* for CSS Transitions, and we're fine for the other forms of animation.


It's not obvious to me whether the failures are 

FIRST THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg]
> at (-0.3)
> expected "path ( \" M 0 200 H 700 \" ) 470px 770deg " but got "path ( \" M 0 300 H 700 Z \" ) 470px 770deg "
> 
> at (0)
> expected "path ( \" M 0 200 H 700 \" ) 500px 800deg " but got "path ( \" M 0 300 H 700 Z \" ) 500px 800deg "
> 
> at (0.3)
> expected "path ( \" M 0 200 H 700 \" ) 530px 830deg " but got "path ( \" M 0 300 H 700 Z \" ) 530px 830deg "

These failures are all for the `path()` component, i.e . the `offset-path` sub-property of the `offset` shorthand property.    The test seems to be expecting us to hold the start value of `M 0 200 H 700 ` until 50% of the way through the transition, but we're not doing that; we're immediately swapping to the final value for this sub-property.

I think this may be a remnant of (or in the same spirit as) bug 1822203?  The test seems to be expecting a 50% flip, but for now that's not what the spec requires.


FINAL THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 0H 200") 500px auto] to [path("M0 0H 300") 600px 0deg]
> at (-0.3)
> expected "path ( \" M 0 0 H 170 \" ) 470px " but got "path ( \" M 0 0 H 170 \" ) 470px 0deg "
> 
> at (0)
> expected "path ( \" M 0 0 H 200 \" ) 500px " but got "path ( \" M 0 0 H 200 \" ) 500px 0deg "
> 
> at (0.3)
> expected "path ( \" M 0 0 H 230 \" ) 530px " but got "path ( \" M 0 0 H 230 \" ) 530px 0deg "

These three failures are just about the "0deg" value that we're including in each value, which I think is from `offset-rotate` which is going from `auto` to `0deg`.

Similar to above: it looks like we're treating that as a non-interpolatable value change, and so we're switching immediately to the final value, but the test is expecting us to do a 50% flip (i.e. it's expecting us to omit the angle and have it be implicitly `auto` until 50% of the way through the transition).  As above, that might be a bug in the tests' expectations...
We fail 6 subtests (2 groups of 3 subtests) in this WPT test:
https://wpt.fyi/results/css/motion/animation/offset-interpolation.html
http://wpt.live/css/motion/animation/offset-interpolation.html

At first glance, it looks like the test is exercising the same interpolation using CSS Transitions, CSS Animations, and Web Animations.  We fail this particular set of subtests *specifically* for CSS Transitions, and we're fine for the other forms of animation.


It's not obvious to me whether the failures are Firefox bugs or test bugs.

FIRST THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg]
> at (-0.3)
> expected "path ( \" M 0 200 H 700 \" ) 470px 770deg " but got "path ( \" M 0 300 H 700 Z \" ) 470px 770deg "
> 
> at (0)
> expected "path ( \" M 0 200 H 700 \" ) 500px 800deg " but got "path ( \" M 0 300 H 700 Z \" ) 500px 800deg "
> 
> at (0.3)
> expected "path ( \" M 0 200 H 700 \" ) 530px 830deg " but got "path ( \" M 0 300 H 700 Z \" ) 530px 830deg "

These failures are all for the `path()` component, i.e . the `offset-path` sub-property of the `offset` shorthand property.    The test seems to be expecting us to hold the start value of `M 0 200 H 700 ` until 50% of the way through the transition, but we're not doing that; we're immediately swapping to the final value for this sub-property.

I think this may be a remnant of (or in the same spirit as) bug 1822203?  The test seems to be expecting a 50% flip, but for now that's not what the spec requires.


FINAL THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 0H 200") 500px auto] to [path("M0 0H 300") 600px 0deg]
> at (-0.3)
> expected "path ( \" M 0 0 H 170 \" ) 470px " but got "path ( \" M 0 0 H 170 \" ) 470px 0deg "
> 
> at (0)
> expected "path ( \" M 0 0 H 200 \" ) 500px " but got "path ( \" M 0 0 H 200 \" ) 500px 0deg "
> 
> at (0.3)
> expected "path ( \" M 0 0 H 230 \" ) 530px " but got "path ( \" M 0 0 H 230 \" ) 530px 0deg "

These three failures are just about the "0deg" value that we're including in each value, which I think is from `offset-rotate` which is going from `auto` to `0deg`.

Similar to above: it looks like we're treating that as a non-interpolatable value change, and so we're switching immediately to the final value, but the test is expecting us to do a 50% flip (i.e. it's expecting us to omit the angle and have it be implicitly `auto` until 50% of the way through the transition).  As above, that might be a bug in the tests' expectations...
We fail 6 subtests (2 groups of 3 subtests) in this WPT test:
https://wpt.fyi/results/css/motion/animation/offset-interpolation.html
http://wpt.live/css/motion/animation/offset-interpolation.html

At first glance, it looks like the test is exercising the same interpolation using CSS Transitions, CSS Animations, and Web Animations.  We fail this particular set of subtests *specifically* for CSS Transitions, and we're fine for the other forms of animation.


It's not obvious to me whether the failures are Firefox bugs or test bugs.

FIRST THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg]
> at (-0.3)
> expected "path ( \" M 0 200 H 700 \" ) 470px 770deg " but got "path ( \" M 0 300 H 700 Z \" ) 470px 770deg "
> 
> at (0)
> expected "path ( \" M 0 200 H 700 \" ) 500px 800deg " but got "path ( \" M 0 300 H 700 Z \" ) 500px 800deg "
> 
> at (0.3)
> expected "path ( \" M 0 200 H 700 \" ) 530px 830deg " but got "path ( \" M 0 300 H 700 Z \" ) 530px 830deg "

These failures are all for the `path()` component, i.e . the `offset-path` sub-property of the `offset` shorthand property.    The test seems to be expecting us to hold the start value of `M 0 200 H 700 ` until 50% of the way through the transition, but we're not doing that; we're immediately swapping to the final value for this sub-property.

I think this may be a remnant of (or in the same spirit as) bug 1822203?  The test seems to be expecting a 50% flip, but for now that's not what the spec requires (per bug 1822203 comment 4 and subsequent comments).


FINAL THREE FAILURES:
> CSS Transitions: property <offset> from [path("M0 0H 200") 500px auto] to [path("M0 0H 300") 600px 0deg]
> at (-0.3)
> expected "path ( \" M 0 0 H 170 \" ) 470px " but got "path ( \" M 0 0 H 170 \" ) 470px 0deg "
> 
> at (0)
> expected "path ( \" M 0 0 H 200 \" ) 500px " but got "path ( \" M 0 0 H 200 \" ) 500px 0deg "
> 
> at (0.3)
> expected "path ( \" M 0 0 H 230 \" ) 530px " but got "path ( \" M 0 0 H 230 \" ) 530px 0deg "

These three failures are just about the "0deg" value that we're including in each value, which I think is from `offset-rotate` which is going from `auto` to `0deg`.

Similar to above: it looks like we're treating that as a non-interpolatable value change, and so we're switching immediately to the final value, but the test is expecting us to do a 50% flip (i.e. it's expecting us to omit the angle and have it be implicitly `auto` until 50% of the way through the transition).  As above, that might be a bug in the tests' expectations...

Back to Bug 1840438 Comment 0