LibWeb: Absolutize keyframe values before interpolating

This commit is contained in:
Tim Ledbetter
2025-06-24 11:11:17 +01:00
committed by Sam Atkins
parent 71f03cb785
commit b46378085d
Notes: github-actions[bot] 2025-06-24 11:38:03 +00:00
8 changed files with 1428 additions and 4 deletions

View File

@@ -0,0 +1,146 @@
Harness status: OK
Found 140 tests
70 Pass
70 Fail
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (-0.25) should be [NaNpx]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (0) should be [0px]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (0.25) should be [NaNpx]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (0.5) should be [NaNpx]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (0.75) should be [NaNpx]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (1) should be [NaNpx]
Fail CSS Transitions: property <left> from [0px] to [calc(infinity * 1px)] at (1.25) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (-0.25) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (0) should be [0px]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (0.25) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (0.5) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (0.75) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (1) should be [NaNpx]
Fail CSS Transitions with transition: all: property <left> from [0px] to [calc(infinity * 1px)] at (1.25) should be [NaNpx]
Pass CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (-0.25) should be [NaNpx]
Pass CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0) should be [0px]
Pass CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.25) should be [NaNpx]
Fail CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.5) should be [NaNpx]
Fail CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.75) should be [NaNpx]
Fail CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (1) should be [NaNpx]
Fail CSS Animations: property <left> from [0px] to [calc(infinity * 1px)] at (1.25) should be [NaNpx]
Pass Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (-0.25) should be [NaNpx]
Pass Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0) should be [0px]
Pass Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.25) should be [NaNpx]
Fail Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.5) should be [NaNpx]
Fail Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (0.75) should be [NaNpx]
Fail Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (1) should be [NaNpx]
Fail Web Animations: property <left> from [0px] to [calc(infinity * 1px)] at (1.25) should be [NaNpx]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [-10px]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [0px]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [10px]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [20px]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [30px]
Pass CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [40px]
Fail CSS Transitions: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [50px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [-10px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [0px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [10px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [20px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [30px]
Pass CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [40px]
Fail CSS Transitions with transition: all: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [50px]
Fail CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [-10px]
Pass CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [0px]
Fail CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [10px]
Fail CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [20px]
Fail CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [30px]
Pass CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [40px]
Fail CSS Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [50px]
Fail Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [-10px]
Pass Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [0px]
Fail Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [10px]
Fail Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [20px]
Fail Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [30px]
Pass Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [40px]
Fail Web Animations: property <left> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [50px]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [calc(50% - 25px)]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))]
Pass CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [calc(100% - 10px)]
Fail CSS Transitions: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [calc(50% - 25px)]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))]
Pass CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [calc(100% - 10px)]
Fail CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))]
Fail CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))]
Pass CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [calc(50% - 25px)]
Fail CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))]
Fail CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))]
Fail CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))]
Pass CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [calc(100% - 10px)]
Fail CSS Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))]
Fail Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))]
Pass Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0) should be [calc(50% - 25px)]
Fail Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))]
Fail Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))]
Fail Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))]
Pass Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1) should be [calc(100% - 10px)]
Fail Web Animations: property <text-indent> from [calc(50% - 25px)] to [calc(100% - 10px)] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (-0.25) should be [-25px]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (0) should be [0em]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (0.25) should be [25px]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (0.5) should be [50px]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (0.75) should be [75px]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (1) should be [100px]
Pass CSS Transitions: property <text-indent> from [0em] to [100px] at (1.25) should be [125px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (-0.25) should be [-25px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (0) should be [0em]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (0.25) should be [25px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (0.5) should be [50px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (0.75) should be [75px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (1) should be [100px]
Pass CSS Transitions with transition: all: property <text-indent> from [0em] to [100px] at (1.25) should be [125px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (-0.25) should be [-25px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (0) should be [0em]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (0.25) should be [25px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (0.5) should be [50px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (0.75) should be [75px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (1) should be [100px]
Pass CSS Animations: property <text-indent> from [0em] to [100px] at (1.25) should be [125px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (-0.25) should be [-25px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (0) should be [0em]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (0.25) should be [25px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (0.5) should be [50px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (0.75) should be [75px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (1) should be [100px]
Pass Web Animations: property <text-indent> from [0em] to [100px] at (1.25) should be [125px]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (-0.25) should be [calc(0% + -25px)]
Fail CSS Transitions: property <text-indent> from [0%] to [100px] at (0) should be [0%]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (0.25) should be [calc(0% + 25px)]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (0.5) should be [calc(0% + 50px)]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (0.75) should be [calc(0% + 75px)]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (1) should be [calc(0% + 100px)]
Pass CSS Transitions: property <text-indent> from [0%] to [100px] at (1.25) should be [calc(0% + 125px)]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (-0.25) should be [calc(0% + -25px)]
Fail CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (0) should be [0%]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (0.25) should be [calc(0% + 25px)]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (0.5) should be [calc(0% + 50px)]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (0.75) should be [calc(0% + 75px)]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (1) should be [calc(0% + 100px)]
Pass CSS Transitions with transition: all: property <text-indent> from [0%] to [100px] at (1.25) should be [calc(0% + 125px)]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (-0.25) should be [calc(0% + -25px)]
Fail CSS Animations: property <text-indent> from [0%] to [100px] at (0) should be [0%]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (0.25) should be [calc(0% + 25px)]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (0.5) should be [calc(0% + 50px)]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (0.75) should be [calc(0% + 75px)]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (1) should be [calc(0% + 100px)]
Pass CSS Animations: property <text-indent> from [0%] to [100px] at (1.25) should be [calc(0% + 125px)]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (-0.25) should be [calc(0% + -25px)]
Fail Web Animations: property <text-indent> from [0%] to [100px] at (0) should be [0%]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (0.25) should be [calc(0% + 25px)]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (0.5) should be [calc(0% + 50px)]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (0.75) should be [calc(0% + 75px)]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (1) should be [calc(0% + 100px)]
Pass Web Animations: property <text-indent> from [0%] to [100px] at (1.25) should be [calc(0% + 125px)]