| <!DOCTYPE html> |
| <title>CSSOM test: serialization of the 'all' shorthand in cssText</title> |
| <link rel="author" title="Oriol Brufau" href="mailto:[email protected]"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-1/#dom-cssstyledeclaration-csstext"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| const style = document.createElement("div").style; |
| |
| test(function() { |
| style.cssText = "all: inherit"; |
| assert_equals(style.cssText, "all: inherit;"); |
| }, "'all' shorthand alone"); |
| |
| test(function() { |
| style.cssText = "width: 100px; all: inherit; height: inherit"; |
| assert_equals(style.cssText, "all: inherit;"); |
| }, "'all' shorthand with 'width' and 'height'"); |
| |
| test(function() { |
| style.cssText = "direction: ltr; all: inherit; unicode-bidi: plaintext"; |
| assert_equals(style.cssText, "direction: ltr; all: inherit; unicode-bidi: plaintext;"); |
| }, "'all' shorthand with 'direction' and 'unicode-bidi'"); |
| |
| test(function() { |
| style.cssText = "width: 100px; --a: a; all: inherit; --b: b; height: inherit"; |
| assert_equals(style.cssText, "--a: a; all: inherit; --b: b;"); |
| }, "'all' shorthand with 'width', 'height' and custom properties"); |
| |
| test(function() { |
| let cssText = "all: inherit; "; |
| for (let longhand of getComputedStyle(document.documentElement)) { |
| cssText += longhand + ": inherit; "; |
| } |
| style.cssText = cssText; |
| if (CSS.supports("interactivity:inert")) { |
| assert_equals(style.cssText, "all: inherit; direction: inherit; interactivity: inherit; unicode-bidi: inherit;"); |
| } else { |
| assert_equals(style.cssText, "all: inherit; direction: inherit; unicode-bidi: inherit;"); |
| } |
| }, "'all' shorthand with all longhands"); |
| |
| test(function() { |
| style.cssText = "--foo: bar; all: initial"; |
| assert_true(style.cssText.includes("--foo: bar"), "cssText serialization includes custom property"); |
| }, "all:initial should not exclude custom from cssText"); |
| </script> |