summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/document-metadata/the-style-element/mutations.window.js
blob: 1c93b4039496721e860563a8b93154f4e222bee2 (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
44
45
46
47
48
test(t => {
  const style = document.body.appendChild(document.createElement("style"));
  const sheet = style.sheet;
  t.add_cleanup(() => style.remove());
  assert_not_equals(sheet, null);
  style.appendChild(new Comment());
  assert_not_equals(sheet, style.sheet);
}, "Mutating the style element: inserting a Comment node");

test(t => {
  const style = document.body.appendChild(document.createElement("style"));
  t.add_cleanup(() => style.remove());
  const comment = style.appendChild(new Comment());
  const sheet = style.sheet;
  comment.appendData("x");
  assert_not_equals(sheet, style.sheet);
}, "Mutating the style element: mutating a Comment node");

test(t => {
  const style = document.body.appendChild(document.createElement("style"));
  t.add_cleanup(() => style.remove());
  const text1 = style.appendChild(new Text("1"));
  const text2 = style.appendChild(new Text("2"));
  assert_equals(style.textContent, "12");
  assert_equals(style.childNodes.length, 2);
  const sheet = style.sheet;
  style.normalize();
  assert_equals(style.childNodes.length, 1);
  assert_not_equals(sheet, style.sheet);
}, "Mutating the style element: using normalize()");

test(t => {
  const style = document.body.appendChild(document.createElement("style"));
  t.add_cleanup(() => style.remove());
  const comment = style.appendChild(new Comment());
  const sheet = style.sheet;
  comment.remove();
  assert_not_equals(sheet, style.sheet);
}, "Mutating the style element: removing a Comment node");

test(t => {
  const style = document.body.appendChild(document.createElement("style"));
  const sheet = style.sheet;
  t.add_cleanup(() => style.remove());
  assert_not_equals(sheet, null);
  style.appendChild(new DocumentFragment());
  assert_equals(sheet, style.sheet);
}, "Mutating the style element: inserting an empty DocumentFragment node");