From e6f8e951996ab6687e72d9ce1bebab1daadda486 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Mon, 20 May 2024 21:22:44 +0100 Subject: [PATCH] chore: tidy up tests to use flushSync (#11703) --- .../_config.js | 27 ++++++++++----- .../attribute-spread-hidden/_config.js | 6 +++- .../samples/bind-and-spread/_config.js | 13 ++++++-- .../samples/derived-cascade/_config.js | 8 +++-- .../derived-write-read-write-read/_config.js | 8 +++-- .../destructure-derived-object/_config.js | 12 +++++-- .../_config.js | 6 +++- .../samples/event-attribute-bubble/_config.js | 33 ++++++++++++------- .../event-attribute-not-hoistable/_config.js | 27 ++++++++++----- .../samples/event-attribute-spread/_config.js | 21 ++++++++---- .../samples/event-attribute/_config.js | 15 ++++++--- .../_config.js | 15 ++++++--- .../non-local-mutation-discouraged/_config.js | 8 +++-- .../_config.js | 8 +++-- .../_config.js | 8 +++-- .../_config.js | 9 +++-- .../_config.js | 16 +++++---- .../_config.js | 8 +++-- .../_config.js | 12 ++++--- .../_config.js | 8 +++-- .../_config.js | 8 +++-- .../samples/props-array-each/_config.js | 8 +++-- .../props-default-reactivity/_config.js | 11 +++++-- .../samples/props-equality/_config.js | 20 ++++++++--- .../samples/proxy-array/_config.js | 7 ++-- .../samples/proxy-cyclical/_config.js | 8 +++-- .../samples/proxy-deep/_config.js | 18 +++++++--- .../samples/proxy-nested/_config.js | 8 +++-- .../samples/proxy-prop-bound/_config.js | 8 +++-- .../samples/proxy-shared/_config.js | 11 +++++-- .../runtime-runes/samples/proxy/_config.js | 8 +++-- .../samples/readonly-state-push/_config.js | 9 +++-- .../samples/snippet-reactive-args/_config.js | 23 ++++++++++--- .../samples/state-delete-property/_config.js | 13 ++++++-- .../samples/state-readonly/_config.js | 8 +++-- .../samples/state-reuse/_config.js | 8 +++-- .../store-from-props-hoisting/_config.js | 8 +++-- 37 files changed, 327 insertions(+), 125 deletions(-) diff --git a/packages/svelte/tests/runtime-runes/samples/attribute-spread-call-expression/_config.js b/packages/svelte/tests/runtime-runes/samples/attribute-spread-call-expression/_config.js index 8b25b7ad43..2b4d154e55 100644 --- a/packages/svelte/tests/runtime-runes/samples/attribute-spread-call-expression/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/attribute-spread-call-expression/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,11 +9,13 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2, b3, b4] = target.querySelectorAll('button'); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -23,8 +26,10 @@ export default test({ ` ); - b2?.click(); - await Promise.resolve(); + flushSync(() => { + b2?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -35,8 +40,10 @@ export default test({ ` ); - b3?.click(); - await Promise.resolve(); + flushSync(() => { + b3?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -47,8 +54,10 @@ export default test({ ` ); - b4?.click(); - await Promise.resolve(); + flushSync(() => { + b4?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/attribute-spread-hidden/_config.js b/packages/svelte/tests/runtime-runes/samples/attribute-spread-hidden/_config.js index c3ed351465..df29156c9a 100644 --- a/packages/svelte/tests/runtime-runes/samples/attribute-spread-hidden/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/attribute-spread-hidden/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,7 +8,10 @@ export default test({ assert.equal(div?.hidden, true); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); + assert.equal(div?.hidden, false); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/bind-and-spread/_config.js b/packages/svelte/tests/runtime-runes/samples/bind-and-spread/_config.js index 604ca6a8d5..5f1c49fce7 100644 --- a/packages/svelte/tests/runtime-runes/samples/bind-and-spread/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/bind-and-spread/_config.js @@ -1,18 +1,25 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1?.click(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.innerHTML, `` ); - await btn2?.click(); + flushSync(() => { + btn2?.click(); + }); + assert.htmlEqual( target.innerHTML, `` diff --git a/packages/svelte/tests/runtime-runes/samples/derived-cascade/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-cascade/_config.js index ddadfb64f7..41f801133e 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-cascade/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-cascade/_config.js @@ -1,11 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-write-read-write-read/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-write-read-write-read/_config.js index fe8d5b732f..af880f8f29 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-write-read-write-read/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-write-read-write-read/_config.js @@ -1,8 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { - await target.querySelector('button')?.click(); + test({ assert, target }) { + flushSync(() => { + target.querySelector('button')?.click(); + }); + assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/destructure-derived-object/_config.js b/packages/svelte/tests/runtime-runes/samples/destructure-derived-object/_config.js index f6b7b18bd4..101b04cabf 100644 --- a/packages/svelte/tests/runtime-runes/samples/destructure-derived-object/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/destructure-derived-object/_config.js @@ -1,13 +1,19 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/dynamic-element-dynamic-namespace/_config.js b/packages/svelte/tests/runtime-runes/samples/dynamic-element-dynamic-namespace/_config.js index df2a7d1778..958616ec8c 100644 --- a/packages/svelte/tests/runtime-runes/samples/dynamic-element-dynamic-namespace/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/dynamic-element-dynamic-namespace/_config.js @@ -1,10 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ async test({ assert, target }) { assert.equal(target.querySelector('path')?.namespaceURI, 'http://www.w3.org/2000/svg'); - await target.querySelector('button')?.click(); + flushSync(() => { + target.querySelector('button')?.click(); + }); + assert.equal(target.querySelector('div')?.namespaceURI, 'http://www.w3.org/1999/xhtml'); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-bubble/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-bubble/_config.js index 602d71a38b..3ed189a256 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-bubble/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-bubble/_config.js @@ -1,41 +1,52 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2, b3] = target.querySelectorAll('button'); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual( target.innerHTML, '' ); - b2?.click(); - await Promise.resolve(); + flushSync(() => { + b2?.click(); + }); + assert.htmlEqual( target.innerHTML, '' ); - b3?.click(); - await Promise.resolve(); + flushSync(() => { + b3?.click(); + }); + assert.htmlEqual( target.innerHTML, '' ); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual( target.innerHTML, '' ); - b2?.click(); - await Promise.resolve(); + flushSync(() => { + b2?.click(); + }); + assert.htmlEqual( target.innerHTML, '' diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-not-hoistable/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-not-hoistable/_config.js index 0d7d885e59..a92ae8f60e 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-not-hoistable/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-not-hoistable/_config.js @@ -1,25 +1,34 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [btn1, btn2, btn3] = target.querySelectorAll('button'); - btn1.click(); - await Promise.resolve(); + flushSync(() => { + btn1.click(); + }); + assert.htmlEqual(target.innerHTML, ''); - btn1.dispatchEvent(new MouseEvent('mouseenter')); - await Promise.resolve(); + flushSync(() => { + btn1.dispatchEvent(new MouseEvent('mouseenter')); + }); + assert.htmlEqual(target.innerHTML, ''); - btn2.click(); - await Promise.resolve(); + flushSync(() => { + btn2.click(); + }); + assert.htmlEqual(target.innerHTML, ''); - btn3.click(); - await Promise.resolve(); + flushSync(() => { + btn3.click(); + }); + assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-spread/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-spread/_config.js index f41c676f2d..bb822b118c 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-spread/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-spread/_config.js @@ -1,19 +1,26 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2] = target.querySelectorAll('button'); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual(target.innerHTML, ''); - b2?.click(); - await Promise.resolve(); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b2?.click(); + }); + + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute/_config.js index e034a959d1..e78eb2aaa4 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute/_config.js @@ -1,17 +1,22 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2] = target.querySelectorAll('button'); - b1?.click(); - await Promise.resolve(); + flushSync(() => { + b1?.click(); + }); + assert.htmlEqual(target.innerHTML, ''); - b2?.click(); - await Promise.resolve(); + flushSync(() => { + b2?.click(); + }); + assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-listener-moved-outside-container/_config.js b/packages/svelte/tests/runtime-runes/samples/event-listener-moved-outside-container/_config.js index a4b60bd912..9664ecb944 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-listener-moved-outside-container/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-listener-moved-outside-container/_config.js @@ -1,20 +1,25 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // Tests that event delegation still works when the element with the event listener is moved outside the container export default test({ - async test({ assert, target }) { + test({ assert, target }) { const btn1 = target.parentElement?.querySelector('button'); const btn2 = target.querySelector('button'); - btn1?.click(); - await Promise.resolve(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.parentElement?.innerHTML ?? '', '
' ); - btn2?.click(); - await Promise.resolve(); + flushSync(() => { + btn2?.click(); + }); + assert.htmlEqual( target.parentElement?.innerHTML ?? '', '
' diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-discouraged/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-discouraged/_config.js index 3a30c2b031..97f088fb4d 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-discouraged/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-discouraged/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.trace} */ @@ -19,9 +20,12 @@ export default test({ console.trace = trace; }, - async test({ assert, target, warnings }) { + test({ assert, target, warnings }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-2/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-2/_config.js index dc600e1461..c07b9ce129 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-2/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-2/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -26,9 +27,12 @@ export default test({ warnings = []; }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-3/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-3/_config.js index 6df8a5a75f..96b18d1854 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-3/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-3/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -26,9 +27,12 @@ export default test({ warnings = []; }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-4/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-4/_config.js index 5850cc1de6..aeb3740dfe 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-4/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-4/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -24,9 +25,13 @@ export default test({ warnings = []; }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); + assert.deepEqual(warnings, []); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-5/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-5/_config.js index 7f0581d6c4..66f1726a2a 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-5/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-5/_config.js @@ -1,4 +1,4 @@ -import { tick } from 'svelte'; +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,15 +6,19 @@ export default test({ dev: true }, - async test({ assert, target, warnings }) { + test({ assert, target, warnings }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1.click(); - await tick(); + flushSync(() => { + btn1.click(); + }); + assert.deepEqual(warnings.length, 0); - await btn2.click(); - await tick(); + flushSync(() => { + btn2.click(); + }); + assert.deepEqual(warnings.length, 1); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-6/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-6/_config.js index e2b31a2e64..cc9ea715f0 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-6/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-6/_config.js @@ -1,4 +1,4 @@ -import { tick } from 'svelte'; +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -28,8 +28,10 @@ export default test({ async test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); - await tick(); + flushSync(() => { + btn?.click(); + }); + assert.deepEqual(warnings.length, 0); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-7/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-7/_config.js index ec8e5ada28..ab7327ab8b 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-7/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner-7/_config.js @@ -1,4 +1,4 @@ -import { tick } from 'svelte'; +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,13 +9,15 @@ export default test({ async test({ assert, target, warnings }) { const [btn1, btn2] = target.querySelectorAll('button'); - btn1.click(); - await tick(); + flushSync(() => { + btn1.click(); + }); assert.deepEqual(warnings.length, 0); - btn2.click(); - await tick(); + flushSync(() => { + btn2.click(); + }); assert.deepEqual(warnings.length, 1); } diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner/_config.js index dc600e1461..c07b9ce129 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-inherited-owner/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -26,9 +27,12 @@ export default test({ warnings = []; }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); diff --git a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-with-binding/_config.js b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-with-binding/_config.js index dc600e1461..c07b9ce129 100644 --- a/packages/svelte/tests/runtime-runes/samples/non-local-mutation-with-binding/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/non-local-mutation-with-binding/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {typeof console.warn} */ @@ -26,9 +27,12 @@ export default test({ warnings = []; }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); diff --git a/packages/svelte/tests/runtime-runes/samples/props-array-each/_config.js b/packages/svelte/tests/runtime-runes/samples/props-array-each/_config.js index b3d63d3732..2bedc194a3 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-array-each/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-array-each/_config.js @@ -1,12 +1,16 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: `

1

1

1

`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); + assert.htmlEqual( target.innerHTML, `

1

2

1

2

1

2

` diff --git a/packages/svelte/tests/runtime-runes/samples/props-default-reactivity/_config.js b/packages/svelte/tests/runtime-runes/samples/props-default-reactivity/_config.js index cf703fcea5..7e72626519 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-default-reactivity/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-default-reactivity/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,7 +10,10 @@ export default test({ async test({ assert, target }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1?.click(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -18,7 +22,10 @@ export default test({ ` ); - await btn2?.click(); + flushSync(() => { + btn2?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/props-equality/_config.js b/packages/svelte/tests/runtime-runes/samples/props-equality/_config.js index eda378947b..e738177a54 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-equality/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-equality/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,10 +8,13 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { let [btn1, _btn2, btn3, _btn4, btn5] = target.querySelectorAll('button'); - await btn1.click(); + flushSync(() => { + btn1.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -21,7 +25,11 @@ export default test({ ); [btn1, _btn2, btn3, _btn4, btn5] = target.querySelectorAll('button'); - await btn3.click(); + + flushSync(() => { + btn3.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -32,7 +40,11 @@ export default test({ ); [btn1, _btn2, btn3, _btn4, btn5] = target.querySelectorAll('button'); - await btn5.click(); + + flushSync(() => { + btn5.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-array/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-array/_config.js index e878dad88f..8e10aff900 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-array/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-array/_config.js @@ -12,10 +12,13 @@ export default test({ array[1]: 2 `, - async test({ assert, target }) { + test({ assert, target }) { const [add, clear, reverse] = target.querySelectorAll('button'); - await add?.click(); + flushSync(() => { + add?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-cyclical/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-cyclical/_config.js index 185a198ca6..d594f014f1 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-cyclical/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-cyclical/_config.js @@ -1,11 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-deep/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-deep/_config.js index 25a7172853..0b9821be54 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-deep/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-deep/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,13 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1?.click(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -18,7 +22,10 @@ export default test({ ` ); - await btn2?.click(); + flushSync(() => { + btn2?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -27,7 +34,10 @@ export default test({ ` ); - await btn1?.click(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-nested/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-nested/_config.js index fdf60d91fd..699a33729e 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-nested/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-nested/_config.js @@ -1,11 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-prop-bound/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-prop-bound/_config.js index bdab6c9e39..32bce052a5 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-prop-bound/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-prop-bound/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,9 +7,12 @@ export default test({

object.count: 0

`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/proxy-shared/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy-shared/_config.js index d8baaf4915..682c0467fc 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy-shared/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy-shared/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,7 +10,10 @@ export default test({ async test({ assert, target }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1?.click(); + flushSync(() => { + btn1?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -18,7 +22,10 @@ export default test({ ` ); - await btn2?.click(); + flushSync(() => { + btn2?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/proxy/_config.js b/packages/svelte/tests/runtime-runes/samples/proxy/_config.js index fdf60d91fd..699a33729e 100644 --- a/packages/svelte/tests/runtime-runes/samples/proxy/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/proxy/_config.js @@ -1,11 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + + flushSync(() => { + btn?.click(); + }); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/readonly-state-push/_config.js b/packages/svelte/tests/runtime-runes/samples/readonly-state-push/_config.js index 3d38953127..d871f67e01 100644 --- a/packages/svelte/tests/runtime-runes/samples/readonly-state-push/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/readonly-state-push/_config.js @@ -1,10 +1,13 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { const [b1] = target.querySelectorAll('button'); - b1.click(); - await Promise.resolve(); + + flushSync(() => { + b1.click(); + }); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-reactive-args/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-reactive-args/_config.js index 01c8db2143..9573a24432 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-reactive-args/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-reactive-args/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,10 +8,13 @@ export default test({ `, - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const [toggle, increment] = target.querySelectorAll('button'); - await increment?.click(); + flushSync(() => { + increment?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -21,7 +25,10 @@ export default test({ ); assert.deepEqual(logs, []); - await toggle?.click(); + flushSync(() => { + toggle?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -32,7 +39,10 @@ export default test({ ); assert.deepEqual(logs, [1]); - await increment?.click(); + flushSync(() => { + increment?.click(); + }); + assert.htmlEqual( target.innerHTML, ` @@ -43,7 +53,10 @@ export default test({ ); assert.deepEqual(logs, [1]); - await toggle?.click(); + flushSync(() => { + toggle?.click(); + }); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/state-delete-property/_config.js b/packages/svelte/tests/runtime-runes/samples/state-delete-property/_config.js index dab129d80e..b8342274a0 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-delete-property/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-delete-property/_config.js @@ -1,17 +1,24 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: '

a,b,c

{"a":1,"b":2,"c":3}

', - async test({ assert, target }) { + test({ assert, target }) { const [btn, bt2] = target.querySelectorAll('button'); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); + assert.htmlEqual( target.innerHTML, `

a,b,c

{"a":1,"b":2,"c":3}

` ); - await bt2?.click(); + flushSync(() => { + bt2?.click(); + }); + assert.htmlEqual( target.innerHTML, `

a,c

{"a":1,"c":3}

` diff --git a/packages/svelte/tests/runtime-runes/samples/state-readonly/_config.js b/packages/svelte/tests/runtime-runes/samples/state-readonly/_config.js index a1f7effeae..0944811828 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-readonly/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-readonly/_config.js @@ -1,13 +1,17 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ compileOptions: { dev: true }, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); + assert.htmlEqual(target.innerHTML, `\n[object Object]`); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/state-reuse/_config.js b/packages/svelte/tests/runtime-runes/samples/state-reuse/_config.js index ebf98bd8d4..e290bcb0ad 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-reuse/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-reuse/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,10 +8,13 @@ export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + flushSync(() => { + btn?.click(); + }); + assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/store-from-props-hoisting/_config.js b/packages/svelte/tests/runtime-runes/samples/store-from-props-hoisting/_config.js index bd5593eb08..9123d75111 100644 --- a/packages/svelte/tests/runtime-runes/samples/store-from-props-hoisting/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/store-from-props-hoisting/_config.js @@ -1,12 +1,16 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ compileOptions: { dev: true }, - async test({ assert, target }) { + test({ assert, target }) { const button = target.querySelector('button'); - await button?.click(); + + flushSync(() => { + button?.click(); + }); assert.htmlEqual( target.innerHTML,