diff --git a/packages/svelte/tests/runtime-runes/samples/state-link-class/_config.js b/packages/svelte/tests/runtime-runes/samples/state-link-class/_config.js new file mode 100644 index 0000000000..4d81e96afb --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link-class/_config.js @@ -0,0 +1,38 @@ +import { flushSync } from 'svelte'; +import { test, ok } from '../../test'; + +export default test({ + html: `
0
0
`, + ssrHtml: `
0
0
`, + + test({ assert, target }) { + const [input1, input2] = target.querySelectorAll('input'); + ok(input1); + ok(input2); + assert.equal(input1.value, '0'); + assert.equal(input2.value, '0'); + + const btn = target.querySelector('button'); + + btn?.click(); + flushSync(); + assert.htmlEqual( + target.innerHTML, + `
0
1
` + ); + + assert.equal(input1.value, '0'); + assert.equal(input2.value, '1'); + + const event = new window.Event('input'); + + input1.value = '2'; + input1.dispatchEvent(event); + flushSync(); + + assert.htmlEqual( + target.innerHTML, + `
2
2
` + ); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/state-link-class/main.svelte b/packages/svelte/tests/runtime-runes/samples/state-link-class/main.svelte new file mode 100644 index 0000000000..e928e37fa0 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link-class/main.svelte @@ -0,0 +1,14 @@ + + + + + +
{a}
+
{b}
+ + diff --git a/packages/svelte/tests/runtime-runes/samples/state-link/_config.js b/packages/svelte/tests/runtime-runes/samples/state-link/_config.js new file mode 100644 index 0000000000..4d81e96afb --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link/_config.js @@ -0,0 +1,38 @@ +import { flushSync } from 'svelte'; +import { test, ok } from '../../test'; + +export default test({ + html: `
0
0
`, + ssrHtml: `
0
0
`, + + test({ assert, target }) { + const [input1, input2] = target.querySelectorAll('input'); + ok(input1); + ok(input2); + assert.equal(input1.value, '0'); + assert.equal(input2.value, '0'); + + const btn = target.querySelector('button'); + + btn?.click(); + flushSync(); + assert.htmlEqual( + target.innerHTML, + `
0
1
` + ); + + assert.equal(input1.value, '0'); + assert.equal(input2.value, '1'); + + const event = new window.Event('input'); + + input1.value = '2'; + input1.dispatchEvent(event); + flushSync(); + + assert.htmlEqual( + target.innerHTML, + `
2
2
` + ); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/state-link/main.svelte b/packages/svelte/tests/runtime-runes/samples/state-link/main.svelte new file mode 100644 index 0000000000..1f6648f479 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/state-link/main.svelte @@ -0,0 +1,18 @@ + + + + + +
{instance.a}
+
{instance.b}
+ +