WPT
wpt / css / css-variables / variables-animation-math-functions.html
Spec: CSS Variables ↗
Runs: Chrome 155.0.8038.0 (wpt@05fffeacb, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-410b4 (wpt@ce41a9c47, 2026-09-02) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 36/36 | 36/36 | 36/36 | 26/36 | 14/36 | 14/36 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | FAIL | FAIL | FAIL |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | PASS | PASS | PASS |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | PASS | PASS | PASS | FAIL | FAIL |