Tests: Add a basic test for Declarative Shadow DOM

This commit is contained in:
Andreas Kling 2024-06-25 16:19:44 +02:00 committed by Andreas Kling
parent fb9f3f10f3
commit 7ce350b8c0
Notes: sideshowbarker 2024-07-17 00:53:02 +09:00
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>