From 9baf459b453e0174768b6da238fede647854fe88 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 10 Mar 2026 22:00:26 -0400 Subject: [PATCH] update test --- .../async-overlapping-svelte-set/_config.js | 138 +++++++++++++++++- .../async-overlapping-svelte-set/main.svelte | 2 +- 2 files changed, 138 insertions(+), 2 deletions(-) diff --git a/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/_config.js b/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/_config.js index c7e549c429..e28ba86489 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/_config.js @@ -1,9 +1,145 @@ +import { tick } from 'svelte'; import { test } from '../../test'; export default test({ async test({ assert, target }) { + await tick(); + const [add, shift, pop] = target.querySelectorAll('button'); - // TODO + add.click(); + await tick(); + add.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=2 values.size=1 values=[1]

+
+

1: true

+

2: false

+

3: false

+

4: false

+

5: false

+
+

1

+ ` + ); + + shift.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=1 values.size=2 values=[1,2]

+
+

1: true

+

2: true

+

3: false

+

4: false

+

5: false

+
+

1

+

2

+ ` + ); + + shift.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=0 values.size=3 values=[1,2,3]

+
+

1: true

+

2: true

+

3: true

+

4: false

+

5: false

+
+

1

+

2

+

3

+ ` + ); + + add.click(); + await tick(); + add.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=2 values.size=3 values=[1,2,3]

+
+

1: true

+

2: true

+

3: true

+

4: false

+

5: false

+
+

1

+

2

+

3

+ ` + ); + + pop.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=1 values.size=3 values=[1,2,3]

+
+

1: true

+

2: true

+

3: true

+

4: false

+

5: false

+
+

1

+

2

+

3

+ ` + ); + + pop.click(); + await tick(); + assert.htmlEqual( + target.innerHTML, + ` + + + +

pending=0 values.size=5 values=[1,2,3,4,5]

+
+

1: true

+

2: true

+

3: true

+

4: true

+

5: true

+
+

1

+

2

+

3

+

4

+

5

+ ` + ); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/main.svelte b/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/main.svelte index 56eac65192..5995a44990 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/async-overlapping-svelte-set/main.svelte @@ -24,7 +24,7 @@

pending={$effect.pending()} - values.length={values.size} + values.size={values.size} values=[{Array.from(values)}]