| <!doctype html> | |
| <meta charset=utf-8> | |
| <title>Style attribute in HTML</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script> | |
| var div; | |
| setup(function() { | |
| var input = '<div style="color: red">Foo</div>'; | |
| var doc = (new DOMParser()).parseFromString(input, 'text/html'); | |
| div = doc.querySelector('div'); | |
| }); | |
| test(function() { | |
| var style = div.style; | |
| assert_equals(style.cssText, 'color: red;'); | |
| assert_equals(style.color, 'red'); | |
| assert_equals(div.getAttribute("style"), 'color: red', | |
| 'Value of style attribute should match the string value that was set'); | |
| }, 'Parsing of initial style attribute'); | |
| test(function() { | |
| var style = div.style; | |
| div.setAttribute('style', 'color:: invalid'); | |
| assert_equals(style.cssText, ''); | |
| assert_equals(style.color, ''); | |
| assert_equals(div.getAttribute('style'), 'color:: invalid', | |
| 'Value of style attribute should match the string value that was set'); | |
| }, 'Parsing of invalid style attribute'); | |
| test(function() { | |
| var style = div.style; | |
| div.setAttribute('style', 'color: green'); | |
| assert_equals(style.cssText, 'color: green;'); | |
| assert_equals(style.color, 'green'); | |
| assert_equals(div.getAttribute('style'), 'color: green', | |
| 'Value of style attribute should match the string value that was set'); | |
| }, 'Parsing of style attribute'); | |
| test(function() { | |
| var style = div.style; | |
| style.backgroundColor = 'blue'; | |
| assert_equals(style.cssText, 'color: green; background-color: blue;', | |
| 'Should not drop the existing style'); | |
| assert_equals(style.color, 'green', | |
| 'Should not drop the existing style'); | |
| assert_equals(div.getAttribute('style'), 'color: green; background-color: blue;', | |
| 'Should update style attribute'); | |
| }, 'Update style.backgroundColor'); | |
| </script> |