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 @@
+
+
+