diff --git a/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/_config.js b/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/_config.js
new file mode 100644
index 000000000000..89ffb9e0d74f
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/_config.js
@@ -0,0 +1,24 @@
+// @ts-nocheck
+export default {
+ compileOptions: {
+ dev: false
+ },
+ async test({ assert, target, window }) {
+ // 1. Wait for the async await block to resolve
+ await Promise.resolve();
+ await Promise.resolve();
+
+ const input = target.querySelector('input');
+ const p = target.querySelector('p');
+
+ // 2. Simulate user typing "updated"
+ input.value = 'updated';
+ input.dispatchEvent(new window.Event('input'));
+
+ // 3. Wait for reactivity
+ await Promise.resolve();
+
+ // 4. Assert
+ assert.equal(p.innerHTML, 'Value: updated');
+ }
+};
diff --git a/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/main.svelte b/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/main.svelte
new file mode 100644
index 000000000000..d00d2da06133
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/boundary-array-binding/main.svelte
@@ -0,0 +1,12 @@
+
+
+
Value: {items[0]}
\ No newline at end of file