Tests: Import WPT CSSOM tests about serialization

This is an area we're lacking in, so let's bring these in-tree to track
them more easily. :^)
This commit is contained in:
Sam Atkins
2024-11-28 15:34:26 +00:00
committed by Andreas Kling
parent 12442ca430
commit 2fc164c0b6
Notes: github-actions[bot] 2024-11-30 10:03:37 +00:00
35 changed files with 2945 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Serialize all longhands</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue">
<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>