diff --git a/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/Child.svelte b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/Child.svelte new file mode 100644 index 0000000000..fdb0e5fc7b --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/Child.svelte @@ -0,0 +1,10 @@ + + + +
{y.foo}
diff --git a/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/_config.js b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/_config.js new file mode 100644 index 0000000000..6da74a4e99 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/_config.js @@ -0,0 +1,24 @@ +import { flushSync } from 'svelte'; +import { test } from '../../test'; + +export default test({ + skip_no_async: true, + async test({ assert, target }) { + const forkButton = target.querySelector('button'); + + flushSync(() => { + forkButton?.click(); + }); + + const [, clickButton] = target.querySelectorAll('button'); + const p = target.querySelector('p'); + + assert.equal(p?.textContent, '0'); + + flushSync(() => { + clickButton?.click(); + }); + + assert.equal(p?.textContent, '1'); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/main.svelte b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/main.svelte new file mode 100644 index 0000000000..2b94475d50 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/fork-derived-class-instance/main.svelte @@ -0,0 +1,17 @@ + + + + +{#if x} +