Skip to content

Commit 1a72d28

Browse files
committed
tests
1 parent 2fe198f commit 1a72d28

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { tick } from 'svelte';
2+
import { deferred } from '../../../../src/internal/shared/utils.js';
3+
import { test } from '../../test';
4+
5+
/** @type {ReturnType<typeof deferred>} */
6+
let d;
7+
8+
export default test({
9+
html: `<p>pending</p>`,
10+
11+
get props() {
12+
d = deferred();
13+
14+
return {
15+
promise: d.promise
16+
};
17+
},
18+
19+
async test({ assert, target, component }) {
20+
d.resolve('cool');
21+
await Promise.resolve();
22+
await tick();
23+
assert.htmlEqual(target.innerHTML, '<p class="cool">hello</p>');
24+
25+
d = deferred();
26+
component.promise = d.promise;
27+
assert.htmlEqual(target.innerHTML, '<p>pending</p>');
28+
29+
d.resolve('neat');
30+
await Promise.resolve();
31+
await tick();
32+
assert.htmlEqual(target.innerHTML, '<p class="neat">hello</p>');
33+
}
34+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<script>
2+
let { promise } = $props();
3+
</script>
4+
5+
<svelte:boundary>
6+
<p class={await promise}>hello</p>
7+
8+
{#snippet pending()}
9+
<p>pending</p>
10+
{/snippet}
11+
</svelte:boundary>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
let { promise } = $props();
3+
4+
let value = await promise;
5+
</script>
6+
7+
<p>{value}</p>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { tick } from 'svelte';
2+
import { deferred } from '../../../../src/internal/shared/utils.js';
3+
import { test } from '../../test';
4+
5+
/** @type {ReturnType<typeof deferred>} */
6+
let d;
7+
8+
export default test({
9+
html: `<p>pending</p>`,
10+
11+
get props() {
12+
d = deferred();
13+
14+
return {
15+
promise: d.promise
16+
};
17+
},
18+
19+
async test({ assert, target }) {
20+
d.resolve('hello');
21+
await Promise.resolve();
22+
await tick();
23+
assert.htmlEqual(target.innerHTML, '<p>hello</p>');
24+
}
25+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<script>
2+
import Child from './Child.svelte';
3+
4+
let { promise } = $props();
5+
</script>
6+
7+
<svelte:boundary>
8+
<Child {promise} />
9+
10+
{#snippet pending()}
11+
<p>pending</p>
12+
{/snippet}
13+
</svelte:boundary>

0 commit comments

Comments
 (0)