| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>CSS Test: CSSStyleDeclaration Interface</title> | |
| <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com"> | |
| <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstyledeclaration-interface"> | |
| <meta name="flags" content="dom"> | |
| <meta name="assert" content="CSSStyleDeclaration is properly initialized and can be modified through its interface"> | |
| <script src="/resources/testharness.js" type="text/javascript"></script> | |
| <script src="/resources/testharnessreport.js" type="text/javascript"></script> | |
| <style id="styleElement"> | |
| #test { color: green; } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="log"></div> | |
| <div id="test"></div> | |
| <script type="text/javascript"> | |
| var declaration; | |
| setup(function() { | |
| var styleElement = document.getElementById("styleElement"); | |
| declaration = styleElement.sheet.cssRules.item(0).style; | |
| }); | |
| test(function() { | |
| assert_equals(declaration.cssText, "color: green;"); | |
| assert_equals(declaration.getPropertyValue("color"), "green"); | |
| }, "Reading CSSStyleDeclaration initialized from a style element"); | |
| test(function() { | |
| declaration.cssText = "margin-left:10px; padding-left:10px"; | |
| assert_equals(declaration.cssText, "margin-left: 10px; padding-left: 10px;"); | |
| assert_equals(declaration.length, 2); | |
| assert_equals(declaration.item(0), "margin-left"); | |
| assert_equals(declaration.item(1), "padding-left"); | |
| assert_equals(declaration.getPropertyValue("margin-left"), "10px"); | |
| assert_equals(declaration.getPropertyValue("padding-left"), "10px"); | |
| var computedStyle = window.getComputedStyle(document.getElementById("test")); | |
| assert_equals(computedStyle.getPropertyValue("margin-left"), "10px"); | |
| assert_equals(computedStyle.getPropertyValue("padding-left"), "10px"); | |
| }, "Setting CSSStyleDeclaration#cssText"); | |
| test(function() { | |
| while (declaration.length > 0) { | |
| declaration.removeProperty(declaration.item(0)); | |
| } | |
| declaration.setProperty("margin-left", "15px"); | |
| declaration.setProperty("padding-left", "15px"); | |
| assert_equals(declaration.length, 2); | |
| assert_equals(declaration.item(0), "margin-left"); | |
| assert_equals(declaration.item(1), "padding-left"); | |
| assert_equals(declaration.getPropertyValue("margin-left"), "15px"); | |
| assert_equals(declaration.getPropertyValue("padding-left"), "15px"); | |
| var computedStyle = window.getComputedStyle(document.getElementById("test")); | |
| assert_equals(computedStyle.getPropertyValue("margin-left"), "15px"); | |
| assert_equals(computedStyle.getPropertyValue("padding-left"), "15px"); | |
| }, "Calling CSSStyleDeclaration#setProperty"); | |
| test(function() { | |
| declaration.setProperty("background-color", "red", "ImPoRtAnt"); | |
| assert_equals(declaration.getPropertyPriority("background-color"), "important"); | |
| }, "setProperty priority should be case-insensitive"); | |
| </script> | |
| </body> | |
| </html> |