| <!DOCTYPE html> |
| <title>CSSOM Test: Passing "all" shorthand to property methods</title> |
| <link rel="help" href="https://drafts.csswg.org/css-cascade/#all-shorthand"> |
| <link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-removeproperty"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| const style = document.createElement("div").style; |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.cssText = "width: 50px"; |
| assert_equals(style.getPropertyValue("all"), ""); |
| }, "getPropertyValue('all') returns empty string"); |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.cssText = "all: revert"; |
| assert_equals(style.getPropertyValue("all"), "revert"); |
| }, "getPropertyValue('all') returns css-wide keyword if possible"); |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.cssText = "all: revert; width: 50px"; |
| assert_equals(style.getPropertyValue("all"), ""); |
| }, "getPropertyValue('all') returns empty string when single property overriden"); |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.setProperty("all", "revert"); |
| assert_equals(style.getPropertyValue("width"), "revert"); |
| assert_equals(style.getPropertyValue("color"), "revert"); |
| }, "setProperty('all') sets all property values"); |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.cssText = "width: 50px; color: green; direction: rtl"; |
| assert_equals(style.getPropertyValue("width"), "50px"); |
| assert_equals(style.getPropertyValue("color"), "green"); |
| assert_equals(style.getPropertyValue("direction"), "rtl"); |
| style.removeProperty("all"); |
| assert_equals(style.getPropertyValue("width"), ""); |
| assert_equals(style.getPropertyValue("color"), ""); |
| assert_equals(style.getPropertyValue("direction"), "rtl"); |
| }, "removeProperty('all') removes all declarations affected by 'all'"); |
| |
| test((t) => { |
| t.add_cleanup(() => { style.cssText = ""; } ); |
| style.cssText = "all: revert"; |
| style.removeProperty("all"); |
| assert_equals(style.getPropertyValue("all"), ""); |
| }, "removeProperty('all') removes an 'all' declaration"); |
| |
| </script> |