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");