| <!doctype html> |
| <title>CSSKeyframesRule indexed getter</title> |
| <link rel="help" href="https://drafts.csswg.org/css-animations-1/#interface-csskeyframesrule"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| @keyframes test { |
| from { opacity: 0 } |
| to { opacity: 1 } |
| } |
| </style> |
| <script> |
| "use strict"; |
| |
| const keyframesRule = document.styleSheets[0].cssRules[0]; |
| |
| test(() => { |
| assert_equals(keyframesRule.length, 2); |
| }, "length reflects number of keyframe rules"); |
| |
| test(() => { |
| const rule = keyframesRule[0]; |
| assert_equals(rule.keyText, "0%"); |
| }, "indexed getter returns the rule at the given index"); |
| |
| test(() => { |
| const rule = keyframesRule[1]; |
| assert_equals(rule.keyText, "100%"); |
| }, "indexed getter returns the last rule"); |
| |
| test(() => { |
| assert_equals(keyframesRule[2], undefined); |
| }, "indexed getter returns undefined for out-of-bounds index"); |
| |
| test(() => { |
| assert_equals(keyframesRule[-1], undefined); |
| }, "indexed getter returns undefined for negative index"); |
| |
| test(() => { |
| assert_equals(keyframesRule[100], undefined); |
| }, "indexed getter returns undefined for large out-of-bounds index"); |
| </script> |