summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/cssom/serialize-all-longhands.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/cssom/serialize-all-longhands.html')
-rw-r--r--testing/web-platform/tests/css/cssom/serialize-all-longhands.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom/serialize-all-longhands.html b/testing/web-platform/tests/css/cssom/serialize-all-longhands.html
new file mode 100644
index 0000000000..95204b6361
--- /dev/null
+++ b/testing/web-platform/tests/css/cssom/serialize-all-longhands.html
@@ -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>