| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#animation-timeline"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/support/computed-testcommon.js"></script> |
| </head> |
| <style> |
| #outer { animation-timeline: --foo; } |
| #target { animation-timeline: --bar; } |
| </style> |
| <div id="outer"> |
| <div id="target"></div> |
| </div> |
| <script> |
| test_computed_value('animation-timeline', 'initial', 'auto'); |
| test_computed_value('animation-timeline', 'inherit', '--foo'); |
| test_computed_value('animation-timeline', 'unset', 'auto'); |
| test_computed_value('animation-timeline', 'revert', 'auto'); |
| test_computed_value('animation-timeline', 'auto'); |
| test_computed_value('animation-timeline', 'none'); |
| test_computed_value('animation-timeline', 'auto, auto'); |
| test_computed_value('animation-timeline', 'none, none'); |
| test_computed_value('animation-timeline', 'auto, none'); |
| test_computed_value('animation-timeline', 'none, auto'); |
| test_computed_value('animation-timeline', '--test'); |
| test_computed_value('animation-timeline', '--test1, --test2'); |
| test_computed_value('animation-timeline', '--test1, --test2, none, --test3, auto'); |
| |
| test(() => { |
| let style = getComputedStyle(document.getElementById('target')); |
| assert_not_equals(Array.from(style).indexOf('animation-timeline'), -1); |
| }, 'The animation-timeline property shows up in CSSStyleDeclaration enumeration'); |
| |
| test(() => { |
| let style = document.getElementById('target').style; |
| assert_not_equals(style.cssText.indexOf('animation-timeline'), -1); |
| }, 'The animation-timeline property shows up in CSSStyleDeclaration.cssText'); |
| |
| // https://drafts.csswg.org/scroll-animations-1/#scroll-notation |
| // |
| // animation-timeline: scroll(<axis>? <scroller>?); |
| // <axis> = block | inline | x | y |
| // <scroller> = root | nearest | self |
| test_computed_value('animation-timeline', 'scroll()'); |
| test_computed_value('animation-timeline', 'scroll(block)', 'scroll()'); |
| test_computed_value('animation-timeline', 'scroll(inline)'); |
| test_computed_value('animation-timeline', 'scroll(x)'); |
| test_computed_value('animation-timeline', 'scroll(y)'); |
| test_computed_value('animation-timeline', 'scroll(root)'); |
| test_computed_value('animation-timeline', 'scroll(nearest)', 'scroll()'); |
| test_computed_value('animation-timeline', 'scroll(self)'); |
| test_computed_value('animation-timeline', 'scroll(self), scroll(nearest)', 'scroll(self), scroll()'); |
| test_computed_value('animation-timeline', 'scroll(inline nearest)', 'scroll(inline)'); |
| test_computed_value('animation-timeline', 'scroll(nearest inline)', 'scroll(inline)'); |
| test_computed_value('animation-timeline', 'scroll(block self)', 'scroll(self)'); |
| test_computed_value('animation-timeline', 'scroll(self block)', 'scroll(self)'); |
| test_computed_value('animation-timeline', 'scroll(y root)', 'scroll(root y)'); |
| |
| // https://drafts.csswg.org/scroll-animations-1/#view-notation |
| test_computed_value('animation-timeline', 'view()'); |
| test_computed_value('animation-timeline', 'view(block)', 'view()'); |
| test_computed_value('animation-timeline', 'view(inline)', 'view(inline)'); |
| test_computed_value('animation-timeline', 'view(x)', 'view(x)'); |
| test_computed_value('animation-timeline', 'view(y)', 'view(y)'); |
| test_computed_value('animation-timeline', 'view(y 1px)'); |
| test_computed_value('animation-timeline', 'view(1px auto)'); |
| test_computed_value('animation-timeline', 'view(auto 1px)'); |
| test_computed_value('animation-timeline', 'view(y 1px auto)'); |
| test_computed_value('animation-timeline', 'view(1px y)', 'view(y 1px)'); |
| test_computed_value('animation-timeline', 'view(y auto)', 'view(y)'); |
| test_computed_value('animation-timeline', 'view(y auto auto)', 'view(y)'); |
| |
| </script> |