From dcf4865b22a2ea5ca52549e240a13e628f6b5836 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 13 Mar 2026 22:25:53 +0100 Subject: [PATCH] chore: add "untracked allows writes" test (#17930) While we don't officially document it, `untrack` also allows to opt out of the "unsafe mutation" validation, which is what we test here. For anyone coming across this: USE WITH CAUTION. This can cause graph inconsistencies leading to wrong values on initial render Doing this because we're gonna make use of it ourselves for remote functions, and this ensures we don't accidentally regress. --- .../samples/untrack-allows-writes/_config.js | 19 +++++++++++++++++++ .../samples/untrack-allows-writes/main.svelte | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/main.svelte diff --git a/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/_config.js b/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/_config.js new file mode 100644 index 0000000000..ead5653dd4 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/_config.js @@ -0,0 +1,19 @@ +import { flushSync } from 'svelte'; +import { test } from '../../test'; + +// While we don't officially document it, `untrack` also allows to opt out of the "unsafe mutation" validation, which is what we test here +export default test({ + html: '', + test({ assert, target }) { + const button = target.querySelector('button'); + + flushSync(() => button?.click()); + + assert.htmlEqual( + target.innerHTML, + ` + + ` + ); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/main.svelte b/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/main.svelte new file mode 100644 index 0000000000..f61a23da84 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/untrack-allows-writes/main.svelte @@ -0,0 +1,14 @@ + + +