| <!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> |