Skip to content

Commit 73204af

Browse files
committed
add test
1 parent bb9c448 commit 73204af

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, target }) {
6+
let [btn1, btn2] = target.querySelectorAll('button');
7+
8+
btn1?.click();
9+
flushSync();
10+
await Promise.resolve();
11+
12+
assert.htmlEqual(target.innerHTML, `<button>hide</button><button>show</button`);
13+
14+
btn2?.click();
15+
await Promise.resolve();
16+
await Promise.resolve();
17+
18+
assert.htmlEqual(
19+
target.innerHTML,
20+
`<h1>John Doe</h1><p>Body</p><div>123</div><button>hide</button><button>show</button>`
21+
);
22+
23+
btn1?.click();
24+
flushSync();
25+
await Promise.resolve();
26+
27+
assert.htmlEqual(target.innerHTML, `<button>hide</button><button>show</button`);
28+
29+
btn2?.click();
30+
await Promise.resolve();
31+
await Promise.resolve();
32+
33+
assert.htmlEqual(
34+
target.innerHTML,
35+
`<h1>John Doe</h1><p>Body</p><div>123</div><button>hide</button><button>show</button>`
36+
);
37+
}
38+
});
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<script>
2+
import { writable } from "svelte/store";
3+
4+
const store = writable({
5+
url: {
6+
pathname: '123'
7+
}
8+
})
9+
const page = {
10+
subscribe(fn) {
11+
return store.subscribe(fn);
12+
}
13+
}
14+
15+
let data = $state({
16+
event: {
17+
author: 'John Doe',
18+
body: 'Body',
19+
foo: '123'
20+
},
21+
});
22+
23+
const { event } = $derived(data);
24+
</script>
25+
26+
{#if event}
27+
<h1>{event.author}</h1>
28+
<p>{event.body}</p>
29+
<div>{$page.url.pathname}</div>
30+
{/if}
31+
32+
<button onclick={() => {
33+
data = {}
34+
store.update(v => ({...v}));
35+
}}>hide</button>
36+
37+
<button onclick={() => {
38+
data = {
39+
event: {
40+
author: 'John Doe',
41+
body: 'Body',
42+
foo: '123'
43+
},
44+
}
45+
queueMicrotask(() => {
46+
store.update(v => ({...v}));
47+
})
48+
}}>show</button>
49+

0 commit comments

Comments
 (0)