From c57e673c846d6bf8da1bcca253c5227dc67abbb1 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 8 Jul 2025 12:19:02 -0400 Subject: [PATCH] add skipped failing test --- .../samples/async-stale-derived-2/_config.js | 58 +++++++++++++++++++ .../samples/async-stale-derived-2/main.svelte | 34 +++++++++++ 2 files changed, 92 insertions(+) create mode 100644 packages/svelte/tests/runtime-runes/samples/async-stale-derived-2/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/async-stale-derived-2/main.svelte diff --git a/packages/svelte/tests/runtime-runes/samples/async-stale-derived-2/_config.js b/packages/svelte/tests/runtime-runes/samples/async-stale-derived-2/_config.js new file mode 100644 index 0000000000..8276c5be41 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/async-stale-derived-2/_config.js @@ -0,0 +1,58 @@ +import { tick } from 'svelte'; +import { test } from '../../test'; + +export default test({ + skip: true, // TODO this one is tricky + + async test({ assert, target }) { + const [increment, a, b] = target.querySelectorAll('button'); + + a.click(); + await tick(); + + assert.htmlEqual( + target.innerHTML, + ` + + + +

a: 0

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

a: 0

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

b: 0

+ let count = $state(0); + + let a = []; + let b = []; + + function push(deferreds, value) { + const deferred = Promise.withResolvers(); + deferreds.push({ deferred, value }); + return deferred.promise; + } + + + + + + + + {#if count % 2 === 0} +

a: {await push(a, count)}

+ {:else} +

b: {await push(b, count)}

+ {/if} + + {#snippet pending()} +

loading...

+ {/snippet} +