| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset=utf-8> | |
| <title>CSS Test: DOM modification re-parsing test</title> | |
| <link rel="help" href="https://drafts.csswg.org/cssom/"> | |
| <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface"> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <style>div { min-width: 0px; }</style> | |
| <style id="style-element"></style> | |
| </head> | |
| <body> | |
| <div id="test-div"></div> | |
| <script type="text/javascript"> | |
| var style = document.getElementById("style-element"); | |
| var div = document.getElementById("test-div"); | |
| function testProperty(prop) { | |
| // Assigning an empty string to textContent or innerHTML should trigger a | |
| // reparse only if the element is not empty. | |
| style.sheet.insertRule("#test-div { min-width: 42px; }"); | |
| assert_equals(getComputedStyle(div).minWidth, "42px"); | |
| style[prop] = ""; | |
| assert_equals(getComputedStyle(div).minWidth, "42px"); | |
| style[prop] = " "; | |
| assert_equals(getComputedStyle(div).minWidth, "0px"); | |
| style.sheet.insertRule("#test-div { min-width: 42px; }"); | |
| assert_equals(getComputedStyle(div).minWidth, "42px"); | |
| style[prop] = ""; | |
| assert_equals(getComputedStyle(div).minWidth, "0px"); | |
| style.sheet.insertRule("#test-div { min-width: 42px; }"); | |
| assert_equals(getComputedStyle(div).minWidth, "42px"); | |
| style.appendChild(document.createTextNode("")); | |
| assert_equals(getComputedStyle(div).minWidth, "0px"); | |
| style.sheet.insertRule("#test-div { min-width: 42px; }"); | |
| assert_equals(getComputedStyle(div).minWidth, "42px"); | |
| style[prop] = ""; | |
| assert_equals(getComputedStyle(div).minWidth, "0px"); | |
| } | |
| test(function() { | |
| testProperty("textContent"); | |
| }, "style.textContent modification"); | |
| test(function() { | |
| testProperty("innerHTML"); | |
| }, "style.innerHTML modification"); | |
| </script> | |
| </body> | |
| </html> |