Skip to content

Commit eb71be4

Browse files
committed
add test
1 parent 5752eaf commit eb71be4

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { flushSync } from '../../../../src/index-client.js';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, raf, target }) {
6+
const btn1 = target.querySelector('button');
7+
8+
btn1?.click();
9+
10+
assert.htmlEqual(
11+
target.innerHTML,
12+
'<button>Toggle</button><div><div>1</div><div>2</div><div>3</div></div>'
13+
);
14+
15+
flushSync();
16+
raf.tick(50);
17+
18+
assert.htmlEqual(
19+
target.innerHTML,
20+
'<button>Toggle</button><div style="overflow: hidden; opacity: 0;"><div>1</div><div>2</div><div>3</div></div>'
21+
);
22+
23+
await Promise.resolve();
24+
25+
flushSync();
26+
raf.tick(500);
27+
28+
assert.htmlEqual(
29+
target.innerHTML,
30+
'<button>Toggle</button><div style=""><div>3</div><div>4</div></div>'
31+
);
32+
}
33+
});
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<script>
2+
import { slide } from 'svelte/transition';
3+
4+
let toggle = $state(true);
5+
let items = $state([ 1, 2, 3 ]);
6+
7+
const handle_toggle = async () => {
8+
toggle = false;
9+
await Promise.resolve();
10+
items = [3, 4];
11+
toggle = true;
12+
};
13+
</script>
14+
15+
<button onclick={handle_toggle}>Toggle</button>
16+
17+
{#if toggle}
18+
<div transition:slide={{ duration: 500 }}>
19+
{#each items as item (item)}
20+
<div>{item}</div>
21+
{/each}
22+
</div>
23+
{/if}

0 commit comments

Comments
 (0)