Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<meta charset="utf-8">
<title>Serialize all longhands</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<meta name="assert" content="Checks that all longhands indexed in a CSSStyleDeclaration can be serialized to a non-empty string when set to their initial value.">
<div id="target"></div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
function nonSerializableProperties(style) {
const result = [];
assert_greater_than(style.length, 0, "Should have longhands");
for (let property of style) {
if (!style.getPropertyValue(property)) {
result.push(property);
}
}
return result;
}
const target = document.getElementById("target");
target.style.cssText = "all: initial; direction: initial; unicode-bidi: initial;";
test(function() {
const props = nonSerializableProperties(target.style);
assert_array_equals(props, []);
}, "Specified style");
test(function() {
const props = nonSerializableProperties(getComputedStyle(target));
assert_array_equals(props, []);
}, "Computed style");
</script>