1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 08:20:44 +00:00

Tests: Add a basic test for Declarative Shadow DOM

(cherry picked from commit 7ce350b8c069c13540c50631413b2150bab967d4)
This commit is contained in:
Andreas Kling 2024-06-25 16:19:44 +02:00 committed by Nico Weber
parent 83d0599d1c
commit f1dcf567e4
2 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,25 @@
open closed open open open [object ShadowRoot]
0
null
0
[object ShadowRoot]
1
null
0
[object ShadowRoot]
0
<template shadowrootmode="open">open</template>
<template shadowrootmode="open" shadowrootserializable="">open</template>
<template shadowrootmode="open" shadowrootserializable="">open</template>

View File

@ -0,0 +1,43 @@
<div id="basicOpen">
<template shadowrootmode="open">open</template>
</div>
<div id="basicClosed">
<template shadowrootmode="closed">closed</template>
</div>
<div id="redundant">
<template shadowrootmode="open">open</template>
<template shadowrootmode="open">also open</template>
</div>
<div id="basicOpenClonable">
<template shadowrootmode="open" shadowrootclonable>open</template>
</div>
<div id="basicOpenSerializable">
<template shadowrootmode="open" shadowrootserializable>open</template>
</div>
<script src="../include.js"></script>
<script>
test(() => {
println(basicOpen.shadowRoot);
println(basicOpen.childElementCount);
println(basicClosed.shadowRoot);
println(basicClosed.childElementCount);
println(redundant.shadowRoot);
println(redundant.childElementCount);
let clonedUnclonable = basicOpen.cloneNode();
println(clonedUnclonable.shadowRoot);
println(clonedUnclonable.childElementCount);
let clonedClonable = basicOpenClonable.cloneNode();
println(clonedClonable.shadowRoot);
println(clonedClonable.childElementCount);
println(basicOpen.getHTML({ serializableShadowRoots: true}));
println(basicOpen.getHTML({ shadowRoots: [ basicOpen.shadowRoot ]}));
println(basicOpenSerializable.getHTML({ serializableShadowRoots: true}));
println(basicOpenSerializable.getHTML({ serializableShadowRoots: false}));
println(basicOpenSerializable.getHTML({ shadowRoots: [ basicOpenSerializable.shadowRoot ]}));
});
</script>