diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-transition/_config.js b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/_config.js new file mode 100644 index 0000000000..ed9e52b347 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/_config.js @@ -0,0 +1,25 @@ +import { flushSync } from 'svelte'; +import { test } from '../../test'; +import { log } from './log.js'; + +export default test({ + before_test() { + log.length = 0; + }, + + async test({ assert, target }) { + const [b1, b2] = target.querySelectorAll('button'); + + flushSync(() => { + b1.click(); + }); + + assert.deepEqual(log, ['transition 2']); + + flushSync(() => { + b2.click(); + }); + + assert.deepEqual(log, ['transition 2', 'transition 1', 'transition 1']); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-transition/log.js b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/log.js new file mode 100644 index 0000000000..d3df521f4d --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/log.js @@ -0,0 +1,2 @@ +/** @type {any[]} */ +export const log = []; diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-transition/main.svelte b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/main.svelte new file mode 100644 index 0000000000..8355a20d71 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-transition/main.svelte @@ -0,0 +1,33 @@ + + + + + + +{#if toggle}
{/if} +