<!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;
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>