Add test svelte:document element

pull/7149/head
Henrik Giesel 5 years ago
parent eb5ac64d2b
commit a49153b1a7

@ -1,6 +1,6 @@
{ {
"code": "invalid-tag-name", "code": "invalid-tag-name",
"message": "Valid <svelte:...> tag names are svelte:head, svelte:options, svelte:window, svelte:body, svelte:self, svelte:component, svelte:fragment or svelte:element", "message": "Valid <svelte:...> tag names are svelte:head, svelte:options, svelte:window, svelte:document, svelte:body, svelte:self, svelte:component, svelte:fragment or svelte:element",
"pos": 10, "pos": 10,
"start": { "start": {
"character": 10, "character": 10,

@ -0,0 +1,14 @@
export default {
html: '<div></div>',
async test({ assert, target, window }) {
const visibility = new window.Event('visibilitychange');
await window.document.dispatchEvent(visibility);
assert.htmlEqual(target.innerHTML, `
<div>
<div class="tooltip">Perform an Action</div>
</div>
`);
}
};

@ -0,0 +1,24 @@
<script>
let container;
function tooltip(node, text) {
let tooltip = null;
function onVisibilityChange() {
tooltip = document.createElement('div');
tooltip.classList.add('tooltip');
tooltip.textContent = text;
container.appendChild(tooltip);
}
node.addEventListener('visibilitychange', onVisibilityChange);
return {
destroy() {
node.removeEventListener('visibilitychange', onVisibilityChange);
}
}
}
</script>
<svelte:document use:tooltip="{'Perform an Action'}" />
<div bind:this={container} />
Loading…
Cancel
Save