Status: FAIL | Duration: 140ms | Subtests: 14/36 | Open test on wpt.live | wpt.fyi
Data from commit:
1884860 Copy-on-write style attribute blocks that are in the rule tree (#831) (2026-09-02)
| Subtest | Status | Message |
|---|---|---|
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | FAIL | assert_equals: expected "20deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | FAIL | assert_equals: expected "100deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | FAIL | assert_equals: expected "110deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | FAIL | assert_equals: expected "170deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | |
| CSS Transitions: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | FAIL | assert_equals: expected "260deg " but got "180deg " |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | PASS | |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | PASS | |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | |
| CSS Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [100deg] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | FAIL | assert_equals: expected "20deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | FAIL | assert_equals: expected "100deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | FAIL | assert_equals: expected "110deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | FAIL | assert_equals: expected "170deg " but got "180deg " |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | |
| CSS Transitions: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | FAIL | assert_equals: expected "260deg " but got "180deg " |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | PASS | |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | 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 | |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | PASS | |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | PASS | |
| CSS Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | PASS | |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (-1) should be [20deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0) should be [100deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.125) should be [110deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (0.875) should be [170deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (1) should be [180deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
| Web Animations: property <--my-angle> from [calc(sign(20rem - 20px) * 100deg)] to [calc(sign(20rem - 20px) * 180deg)] at (2) should be [260deg] | FAIL | assert_true: Web Animations should be supported expected true got false |
/css/css-variables/variables-animation-math-functions.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>angle custom properties interpolation with css math functions</title> <link rel="author" title="Daniil Sakhapov" href="mailto:sakhapov@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-values/#sign-funcs"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/interpolation-testcommon.js"></script> </head> <style> :root { font-size: 10px; } @property --my-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; } </style> <body> <script> test_interpolation({ property: '--my-angle', from: '100deg', to: 'calc(sign(20rem - 20px) * 180deg)', }, [ {at: -1, expect: '20deg'}, {at: 0, expect: '100deg'}, {at: 0.125, expect: '110deg'}, {at: 0.875, expect: '170deg'}, {at: 1, expect: '180deg'}, {at: 2, expect: '260deg'} ]); test_interpolation({ property: '--my-angle', from: 'calc(sign(20rem - 20px) * 100deg)', to: 'calc(sign(20rem - 20px) * 180deg)', }, [ {at: -1, expect: '20deg'}, {at: 0, expect: '100deg'}, {at: 0.125, expect: '110deg'}, {at: 0.875, expect: '170deg'}, {at: 1, expect: '180deg'}, {at: 2, expect: '260deg'} ]); </script> </body> </html>