| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title></title> | |
| <link rel="help" href="https://drafts.csswg.org/css-animations/#interface-csskeyframerule"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style type="text/css" id="styleElement"> | |
| div { animation: 3s slidein; } | |
| @keyframes slidein { | |
| from { | |
| margin-left: 100%; | |
| width: 300%; | |
| } | |
| to { | |
| margin-left: 0%; | |
| width: 100%; | |
| } | |
| } | |
| </style> | |
| <script> | |
| var styleSheet = document.getElementById("styleElement").sheet; | |
| var keyframesRule = styleSheet.cssRules[1]; | |
| var fromRule = keyframesRule.cssRules[0]; | |
| var toRule = keyframesRule.cssRules[1]; | |
| test(function() { | |
| assert_equals(keyframesRule.name, "slidein"); | |
| assert_equals(typeof fromRule.style, "object"); | |
| assert_equals(fromRule.style.marginLeft, "100%"); | |
| assert_equals(fromRule.style.width, "300%"); | |
| assert_equals(typeof toRule.style, "object"); | |
| assert_equals(toRule.style.marginLeft, "0%"); | |
| assert_equals(toRule.style.width, "100%"); | |
| toRule.style.marginLeft = "-5%"; | |
| toRule.style.width = "50%"; | |
| assert_equals(fromRule.style.marginLeft, "100%"); | |
| assert_equals(fromRule.style.width, "300%"); | |
| assert_equals(toRule.style.marginLeft, "-5%"); | |
| assert_equals(toRule.style.width, "50%"); | |
| }, "CSSKeyframeRule: style property"); | |
| test(function() { | |
| fromRule.style = "margin-left: 50%; width: 100%;"; | |
| assert_equals(fromRule.style.marginLeft, "50%", "margin-left"); | |
| assert_equals(fromRule.style.width, "100%", "width"); | |
| }, "CSSKeyframeRule: style property has [PutForwards]"); | |
| </script> |