Skip to content

Commit 77b4f56

Browse files
committed
tidy up test
1 parent 94415f0 commit 77b4f56

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

packages/svelte/tests/runtime-runes/samples/async-each-keyed/_config.js

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,38 @@
11
import { tick } from 'svelte';
2-
import { deferred } from '../../../../src/internal/shared/utils.js';
32
import { test } from '../../test';
43

5-
/** @type {ReturnType<typeof deferred>} */
6-
let d;
7-
84
export default test({
95
compileOptions: {
106
dev: true
117
},
12-
html: `<p>pending</p>`,
138

14-
get props() {
15-
d = deferred();
9+
html: `
10+
<button>reset</button>
11+
<button>one</button>
12+
<button>two</button>
13+
<button>three</button>
14+
<p>pending</p>
15+
`,
1616

17-
return {
18-
promise: d.promise
19-
};
20-
},
17+
async test({ assert, target }) {
18+
const [reset, one, two, three] = target.querySelectorAll('button');
2119

22-
async test({ assert, target, component }) {
23-
d.resolve(['a', 'b', 'c']);
20+
one.click();
2421
await tick();
25-
assert.htmlEqual(target.innerHTML, '<p>a</p><p>b</p><p>c</p>');
2622

27-
d = deferred();
28-
component.promise = d.promise;
23+
const [div] = target.querySelectorAll('div');
24+
assert.htmlEqual(div.innerHTML, '<p>a</p><p>b</p><p>c</p>');
25+
26+
reset.click();
2927
await tick();
30-
assert.htmlEqual(target.innerHTML, '<p>a</p><p>b</p><p>c</p>');
28+
assert.htmlEqual(div.innerHTML, '<p>a</p><p>b</p><p>c</p>');
3129

32-
d.resolve(['d', 'e', 'f', 'g']);
30+
two.click();
3331
await tick();
34-
assert.htmlEqual(target.innerHTML, '<p>d</p><p>e</p><p>f</p><p>g</p>');
32+
assert.htmlEqual(div.innerHTML, '<p>d</p><p>e</p><p>f</p><p>g</p>');
3533

36-
d = deferred();
37-
component.promise = d.promise;
38-
d.resolve(['d', 'e', 'f', 'd']);
34+
reset.click();
35+
three.click();
3936
await tick();
4037
assert.fail('should not allow duplicate keys');
4138
},

packages/svelte/tests/runtime-runes/samples/async-each-keyed/main.svelte

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
<script>
2-
let { promise } = $props();
2+
let deferred = $state(Promise.withResolvers());
33
</script>
44

5+
<button onclick={() => deferred = Promise.withResolvers()}>reset</button>
6+
<button onclick={() => deferred.resolve(['a', 'b', 'c'])}>one</button>
7+
<button onclick={() => deferred.resolve(['d', 'e', 'f', 'g'])}>two</button>
8+
<button onclick={() => deferred.resolve(['d', 'e', 'f', 'd'])}>three</button>
9+
510
<svelte:boundary>
6-
{#each await promise as item (item)}
7-
<p>{item}</p>
8-
{/each}
11+
<div>
12+
{#each await deferred.promise as item (item)}
13+
<p>{item}</p>
14+
{/each}
15+
</div>
916

1017
{#snippet pending()}
1118
<p>pending</p>

0 commit comments

Comments
 (0)