From b4cacabb427c95d14f434f4ed74356167f7b9655 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 15 Aug 2025 15:23:02 -0400 Subject: [PATCH] add test --- .../dynamic-component-destroy-then-create/A.svelte | 8 ++++++++ .../dynamic-component-destroy-then-create/B.svelte | 8 ++++++++ .../_config.js | 13 +++++++++++++ .../main.svelte | 13 +++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/A.svelte create mode 100644 packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/B.svelte create mode 100644 packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/main.svelte diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/A.svelte b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/A.svelte new file mode 100644 index 0000000000..e73551cc28 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/A.svelte @@ -0,0 +1,8 @@ + + +

A

diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/B.svelte b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/B.svelte new file mode 100644 index 0000000000..459aa313c4 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/B.svelte @@ -0,0 +1,8 @@ + + +

B

diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/_config.js b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/_config.js new file mode 100644 index 0000000000..e750c48a00 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/_config.js @@ -0,0 +1,13 @@ +import { test } from '../../test'; +import { flushSync } from 'svelte'; + +export default test({ + mode: ['client', 'hydrate'], + + async test({ assert, target, logs }) { + const [button] = target.querySelectorAll('button'); + + flushSync(() => button.click()); + assert.deepEqual(logs, ['create A', 'destroy A', 'create B']); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/main.svelte b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/main.svelte new file mode 100644 index 0000000000..c9ef5430a4 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-component-destroy-then-create/main.svelte @@ -0,0 +1,13 @@ + + + + +