Skip to content

Commit 3d0b6f7

Browse files
committed
update test
1 parent 5e8bcfa commit 3d0b6f7

File tree

2 files changed

+32
-20
lines changed

2 files changed

+32
-20
lines changed

packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
import { flushSync, 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 d1;
7-
84
export default test({
9-
html: `<p>pending</p>`,
5+
html: `
6+
<button>switch to d2</button>
7+
<button>resolve d1</button>
8+
<button>resolve d2</button>
9+
<p>pending</p>
10+
`,
1011

11-
get props() {
12-
d1 = deferred();
12+
async test({ assert, target, component, errors, variant }) {
13+
if (variant === 'hydrate') {
14+
await Promise.resolve();
15+
}
1316

14-
return {
15-
promise: d1.promise
16-
};
17-
},
17+
const [toggle, resolve1, resolve2] = target.querySelectorAll('button');
1818

19-
async test({ assert, target, component, errors }) {
20-
await Promise.resolve();
21-
var d2 = deferred();
22-
component.promise = d2.promise;
19+
flushSync(() => toggle.click());
2320

24-
d1.resolve('unused');
21+
flushSync(() => resolve1.click());
2522
await Promise.resolve();
2623
await Promise.resolve();
27-
d2.resolve('hello');
2824

25+
flushSync(() => resolve2.click());
2926
await Promise.resolve();
3027
await Promise.resolve();
3128
await Promise.resolve();
@@ -37,7 +34,15 @@ export default test({
3734
await Promise.resolve();
3835
await tick();
3936

40-
assert.htmlEqual(target.innerHTML, '<p>hello</p>');
37+
assert.htmlEqual(
38+
target.innerHTML,
39+
`
40+
<button>switch to d2</button>
41+
<button>resolve d1</button>
42+
<button>resolve d2</button>
43+
<p>two</p>
44+
`
45+
);
4146

4247
assert.deepEqual(errors, []);
4348
}

packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/main.svelte

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
<script>
22
import Child from './Child.svelte';
33
4-
let { promise } = $props();
4+
let d1 = $state(Promise.withResolvers());
5+
let d2 = $state(Promise.withResolvers());
6+
7+
let deferred = $state.raw(d1);
58
</script>
69

10+
<button onclick={() => deferred = d2}>switch to d2</button>
11+
<button onclick={() => d1.resolve('one')}>resolve d1</button>
12+
<button onclick={() => d2.resolve('two')}>resolve d2</button>
13+
714
<svelte:boundary>
8-
<Child {promise} />
15+
<Child promise={deferred.promise} />
916

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

0 commit comments

Comments
 (0)