summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/cssom/cssstyledeclaration-csstext-all-shorthand.html
blob: 3b408f4cd6740e37451d2cd2a3669fb107427ae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<title>CSSOM test: serialization of the 'all' shorthand in cssText</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
<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>