From 4ffa94b6641d6060b4821a38c037489af444c892 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 26 Jul 2024 20:59:39 -0400 Subject: [PATCH] test behaviour of objects --- .../samples/state-link-object/_config.js | 24 +++++++++++++++++++ .../samples/state-link-object/main.svelte | 9 +++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/svelte/tests/runtime-runes/samples/state-link-object/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/state-link-object/main.svelte diff --git a/packages/svelte/tests/runtime-runes/samples/state-link-object/_config.js b/packages/svelte/tests/runtime-runes/samples/state-link-object/_config.js new file mode 100644 index 0000000000..a0cf4b3c3f --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link-object/_config.js @@ -0,0 +1,24 @@ +import { flushSync } from 'svelte'; +import { test } from '../../test'; + +export default test({ + html: ``, + + test({ assert, target }) { + const [btn1, btn2, btn3] = target.querySelectorAll('button'); + + flushSync(() => btn1.click()); + assert.htmlEqual(target.innerHTML, ``); + + // mutate the original object, via the link + flushSync(() => btn2.click()); + assert.htmlEqual(target.innerHTML, ``); + + // mutate the copy + flushSync(() => btn3.click()); + assert.htmlEqual(target.innerHTML, ``); + + flushSync(() => btn1.click()); + assert.htmlEqual(target.innerHTML, ``); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/state-link-object/main.svelte b/packages/svelte/tests/runtime-runes/samples/state-link-object/main.svelte new file mode 100644 index 0000000000..ec7dec4507 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link-object/main.svelte @@ -0,0 +1,9 @@ + + + + +