diff --git a/packages/svelte/tests/runtime-runes/samples/state-onchange/_config.js b/packages/svelte/tests/runtime-runes/samples/state-onchange/_config.js index 4864e64cd6..4b1985a1f9 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-onchange/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-onchange/_config.js @@ -3,7 +3,7 @@ import { test } from '../../test'; export default test({ async test({ assert, target, logs }) { - const [btn, btn2, btn3, btn4, btn5, btn6] = target.querySelectorAll('button'); + const [btn, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9] = target.querySelectorAll('button'); flushSync(() => { btn.click(); }); @@ -40,5 +40,47 @@ export default test({ 'class proxy', 'class proxy' ]); + + flushSync(() => { + btn7.click(); + }); + assert.deepEqual(logs, [ + 'count', + 'proxy', + 'proxy', + 'class count', + 'class proxy', + 'class proxy', + 'arr' + ]); + + flushSync(() => { + btn8.click(); + }); + assert.deepEqual(logs, [ + 'count', + 'proxy', + 'proxy', + 'class count', + 'class proxy', + 'class proxy', + 'arr', + 'arr' + ]); + + flushSync(() => { + btn9.click(); + }); + assert.deepEqual(logs, [ + 'count', + 'proxy', + 'proxy', + 'class count', + 'class proxy', + 'class proxy', + 'arr', + 'arr', + 'arr' + ]); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/state-onchange/main.svelte b/packages/svelte/tests/runtime-runes/samples/state-onchange/main.svelte index 46253488d2..efa688fc15 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-onchange/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/state-onchange/main.svelte @@ -25,6 +25,12 @@ } const class_test = new Test(); + + let arr = $state([0,1,2], { + onchange(){ + console.log("arr"); + } + }) @@ -33,4 +39,8 @@ - \ No newline at end of file + + + + + \ No newline at end of file