beef up test

pull/15000/head
Rich Harris 1 year ago
parent bd0157a4de
commit c69c5d7c25

@ -1,6 +1,15 @@
import { flushSync } from 'svelte';
import { test } from '../../test';
export default test({
ssrHtml: `<div></div>`,
html: `<div>set from component</div>`
html: `<button>update</button><div></div>`,
test({ target, assert, logs }) {
const button = target.querySelector('button');
assert.deepEqual(logs, ['one DIV']);
flushSync(() => button?.click());
assert.deepEqual(logs, ['one DIV', 'cleanup one', 'two DIV']);
}
});

@ -3,8 +3,28 @@
import Child from './Child.svelte';
let stuff = $state({
[createAttachmentKey()]: (node) => node.textContent = 'set from component'
[createAttachmentKey()]: (node) => {
console.log(`one ${node.nodeName}`);
return () => {
console.log('cleanup one');
};
}
});
function update() {
stuff = {
[createAttachmentKey()]: (node) => {
console.log(`two ${node.nodeName}`);
return () => {
console.log('cleanup two');
}
}
};
}
</script>
<button onclick={update}>update</button>
<Child {...stuff} />

Loading…
Cancel
Save