diff --git a/packages/svelte/tests/hydration/samples/binding-input/_config.js b/packages/svelte/tests/hydration/samples/binding-input/_config.js index f30b4acac6..ebb48abec6 100644 --- a/packages/svelte/tests/hydration/samples/binding-input/_config.js +++ b/packages/svelte/tests/hydration/samples/binding-input/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { assert_ok, test } from '../../test'; export default test({ @@ -12,11 +13,12 @@ export default test({ }; }, - async test(assert, target, _, component, window) { + test(assert, target, _, component, window) { const input = target.querySelector('input'); assert_ok(input); input.value = 'everybody'; - await input.dispatchEvent(new window.Event('input')); + input.dispatchEvent(new window.Event('input')); + flushSync(); assert.equal(component.name, 'everybody'); assert.htmlEqual( diff --git a/packages/svelte/tests/hydration/samples/event-handler/_config.js b/packages/svelte/tests/hydration/samples/event-handler/_config.js index f76ae62825..282670258c 100644 --- a/packages/svelte/tests/hydration/samples/event-handler/_config.js +++ b/packages/svelte/tests/hydration/samples/event-handler/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { assert_ok, test } from '../../test'; export default test({ @@ -16,7 +17,8 @@ export default test({ async test(assert, target, _, component, window) { const button = target.querySelector('button'); assert_ok(button); - await button.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + button.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.ok(component.clicked); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-browser/custom-elements-samples/nested/_config.js b/packages/svelte/tests/runtime-browser/custom-elements-samples/nested/_config.js index 1c6926be17..f184fd5d99 100644 --- a/packages/svelte/tests/runtime-browser/custom-elements-samples/nested/_config.js +++ b/packages/svelte/tests/runtime-browser/custom-elements-samples/nested/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../assert'; const tick = () => Promise.resolve(); @@ -18,7 +19,8 @@ export default test({ assert.equal(p.innerHTML, 'Context works'); assert.equal(getComputedStyle(button).color, 'rgb(255, 0, 0)'); - await button.dispatchEvent(new MouseEvent('click', { bubbles: true })); + button.dispatchEvent(new MouseEvent('click', { bubbles: true })); + flushSync(); assert.equal(el.counter.count, 1); assert.equal(button.innerHTML, 'count: 1'); diff --git a/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes-add-remove/_config.js b/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes-add-remove/_config.js index d0ac2cd9cf..7463e8287f 100644 --- a/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes-add-remove/_config.js +++ b/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes-add-remove/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../assert'; const tick = () => Promise.resolve(); @@ -6,15 +7,18 @@ export default test({ const element = document.createElement('custom-element'); target.appendChild(element); await tick(); + flushSync(); /** @type {any} */ const el = target.querySelector('custom-element'); el.shadowRoot.querySelector('button').click(); await tick(); + flushSync(); assert.equal(el.getAttribute('aria-expanded'), ''); el.shadowRoot.querySelector('button').click(); await tick(); + flushSync(); assert.equal(el.getAttribute('aria-expanded'), null); } diff --git a/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes/_config.js b/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes/_config.js index 46fc009bd4..62930c2872 100644 --- a/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes/_config.js +++ b/packages/svelte/tests/runtime-browser/custom-elements-samples/reflect-attributes/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../assert'; const tick = () => Promise.resolve(); @@ -23,6 +24,7 @@ export default test({ assert.equal(getComputedStyle(inner_p).color, 'rgb(255, 255, 255)'); button.click(); + flushSync(); await tick(); await tick(); diff --git a/packages/svelte/tests/runtime-legacy/samples/action-update/_config.js b/packages/svelte/tests/runtime-legacy/samples/action-update/_config.js index 1c1dcacf63..a3fcb4232e 100644 --- a/packages/svelte/tests/runtime-legacy/samples/action-update/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/action-update/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -5,7 +6,7 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelector('button'); ok(button); @@ -13,7 +14,8 @@ export default test({ const leave = new window.MouseEvent('mouseleave'); const ctrlPress = new window.KeyboardEvent('keydown', { ctrlKey: true }); - await button.dispatchEvent(enter); + button.dispatchEvent(enter); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -22,7 +24,8 @@ export default test({ ` ); - await window.dispatchEvent(ctrlPress); + window.dispatchEvent(ctrlPress); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -31,7 +34,8 @@ export default test({ ` ); - await button.dispatchEvent(leave); + button.dispatchEvent(leave); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order-2/_config.js b/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order-2/_config.js index 62734c059b..d414ae1f24 100644 --- a/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order-2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order-2/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {string[]} */ @@ -9,14 +10,15 @@ export default test({ return { value }; }, - async test({ assert, target, window }) { + test({ assert, target, window }) { const inputs = target.querySelectorAll('input'); - const event = new window.Event('input'); + const event = new window.Event('input', { bubbles: true }); for (const input of inputs) { input.value = 'h'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); } // Svelte 5 breaking change, use:action now fires diff --git a/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order/_config.js b/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order/_config.js index aa9ce53877..aea50afafd 100644 --- a/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/apply-directives-in-order/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,13 +16,14 @@ export default test({
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'h'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(input.value, 'H'); assert.htmlEqual( @@ -33,7 +35,8 @@ export default test({ ); input.value = 'he'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(input.value, 'HE'); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/await-then-blowback-reactive/_config.js b/packages/svelte/tests/runtime-legacy/samples/await-then-blowback-reactive/_config.js index 2b8ba803da..665b8d94b6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/await-then-blowback-reactive/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/await-then-blowback-reactive/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -17,8 +18,8 @@ export default test({ const change = new window.Event('change'); options[1].selected = true; - await select.dispatchEvent(change); - await Promise.resolve(); + select.dispatchEvent(change); + flushSync(); assert.equal(span.textContent, 'b'); } diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-indirect-computed/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-indirect-computed/_config.js index 99ec25dd9c..d6ad620356 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-indirect-computed/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-indirect-computed/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -13,7 +14,7 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const select = target.querySelector('select'); ok(select); const options = target.querySelectorAll('option'); @@ -21,7 +22,8 @@ export default test({ const change = new window.Event('change'); options[1].selected = true; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.equal(component.selected.letter, 'B'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual-b/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual-b/_config.js index 35946383b7..ceb6c8b72e 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual-b/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual-b/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -25,17 +26,17 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = [...target.querySelectorAll('input')]; const event = new window.Event('change'); inputs[1].checked = true; - await inputs[1].dispatchEvent(event); + inputs[1].dispatchEvent(event); + flushSync(); - await component.clear(); - - await Promise.resolve(); + component.clear(); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -46,9 +47,10 @@ export default test({ ); inputs[2].checked = true; - await inputs[2].dispatchEvent(event); - - await component.clear(); + inputs[2].dispatchEvent(event); + flushSync(); + component.clear(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual/_config.js index 775ee643c7..c5fd2f7b49 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-deep-contextual/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -37,7 +38,7 @@ export default test({1 completed
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = [...target.querySelectorAll('input')]; assert.ok(inputs[0].checked); @@ -47,9 +48,8 @@ export default test({ const event = new window.Event('change'); inputs[1].checked = true; - await inputs[1].dispatchEvent(event); - // Wait for the DOM to update - await Promise.resolve(); + inputs[1].dispatchEvent(event); + flushSync(); assert.equal(component.numCompleted, 2); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group-outside-each/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group-outside-each/_config.js index 5be1d9b38d..489584127d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group-outside-each/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group-outside-each/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; const values = [{ name: 'Alpha' }, { name: 'Beta' }, { name: 'Gamma' }]; @@ -37,7 +38,7 @@ export default test({Beta
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, false); assert.equal(inputs[1].checked, true); @@ -46,7 +47,8 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group/_config.js index ee508a564e..c669bbb21d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox-group/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; const values = [{ name: 'Alpha' }, { name: 'Beta' }, { name: 'Gamma' }]; @@ -37,7 +38,7 @@ export default test({Beta
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { let inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, false); assert.equal(inputs[1].checked, true); @@ -46,7 +47,8 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox/_config.js index 813c12be1b..1d8a208682 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-checkbox/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({true
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); @@ -24,7 +25,8 @@ export default test({ const event = new window.Event('change'); input.checked = false; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-duplicate-value/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-duplicate-value/_config.js index 6e9445ca0c..6d3c494d0d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-duplicate-value/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-duplicate-value/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -19,7 +20,7 @@ export default test({ d1, 2, 3
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, true); assert.equal(inputs[1].checked, true); @@ -36,7 +37,8 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = false; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-3/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-3/_config.js index 47c73ea56a..84b783df75 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-3/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-3/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {Array<{ name: string }>} */ @@ -110,7 +111,7 @@ export default test({Gamma
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, false); @@ -126,7 +127,8 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -179,7 +181,8 @@ export default test({ ` ); inputs[3].checked = true; - await inputs[3].dispatchEvent(event); + inputs[3].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -233,7 +236,8 @@ export default test({ ); inputs[8].checked = false; - await inputs[8].dispatchEvent(event); + inputs[8].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-4/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-4/_config.js index 27e13fbbf2..1a78e91214 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-4/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-4/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -37,7 +38,7 @@ export default test({3
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, true); assert.equal(inputs[1].checked, false); @@ -58,8 +59,8 @@ export default test({ const event = new window.Event('change'); inputs[2].checked = true; - await inputs[2].dispatchEvent(event); - await Promise.resolve(); + inputs[2].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -84,8 +85,8 @@ export default test({ ); inputs[9].checked = true; - await inputs[9].dispatchEvent(event); - await Promise.resolve(); + inputs[9].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -110,24 +111,24 @@ export default test({ ); inputs[4].checked = false; - await inputs[4].dispatchEvent(event); - await Promise.resolve(); + inputs[4].dispatchEvent(event); + flushSync(); inputs[5].checked = true; - await inputs[5].dispatchEvent(event); - await Promise.resolve(); + inputs[5].dispatchEvent(event); + flushSync(); inputs[6].checked = true; - await inputs[6].dispatchEvent(event); - await Promise.resolve(); + inputs[6].dispatchEvent(event); + flushSync(); inputs[7].checked = true; - await inputs[7].dispatchEvent(event); - await Promise.resolve(); + inputs[7].dispatchEvent(event); + flushSync(); inputs[11].checked = false; - await inputs[11].dispatchEvent(event); - await Promise.resolve(); + inputs[11].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-5/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-5/_config.js index ccd1f8f26b..08af96a844 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-5/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-5/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -37,7 +38,7 @@ export default test({1
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, true); assert.equal(inputs[1].checked, false); @@ -58,8 +59,8 @@ export default test({ const event = new window.Event('change'); inputs[2].checked = true; - await inputs[2].dispatchEvent(event); - await Promise.resolve(); + inputs[2].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -84,8 +85,8 @@ export default test({ ); inputs[8].checked = true; - await inputs[8].dispatchEvent(event); - await Promise.resolve(); + inputs[8].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -150,8 +151,8 @@ export default test({ assert.equal(inputs[11].checked, false); inputs[5].checked = false; - await inputs[5].dispatchEvent(event); - await Promise.resolve(); + inputs[5].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-6/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-6/_config.js index 4dff6b2ce2..b4cf9e7ed6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-6/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-6/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, false); assert.equal(inputs[1].checked, false); @@ -32,7 +33,8 @@ export default test({ const event = new window.Event('change'); inputs[2].checked = true; - await inputs[2].dispatchEvent(event); + inputs[2].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -53,7 +55,8 @@ export default test({ ); inputs[4].checked = true; - await inputs[4].dispatchEvent(event); + inputs[4].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -74,7 +77,8 @@ export default test({ ); inputs[5].checked = true; - await inputs[5].dispatchEvent(event); + inputs[5].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-8/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-8/_config.js index 865201f062..384ca0a20c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-8/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-8/_config.js @@ -1,8 +1,9 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // https://github.com/sveltejs/svelte/issues/7884 export default test({ - async test({ assert, target, component, window }) { + test({ assert, target, component, window }) { let inputs = target.querySelectorAll('input'); assert.htmlEqual( @@ -27,11 +28,14 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); inputs[2].checked = true; - await inputs[2].dispatchEvent(event); + inputs[2].dispatchEvent(event); + flushSync(); inputs[3].checked = true; - await inputs[3].dispatchEvent(event); + inputs[3].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -52,8 +56,8 @@ export default test({ ` ); - await component.update(); - await Promise.resolve(); + component.update(); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -70,7 +74,8 @@ export default test({ inputs = target.querySelectorAll('input'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-9/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-9/_config.js index 1554c3a7b7..b566e31cb9 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-9/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-9/_config.js @@ -1,18 +1,19 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // https://github.com/sveltejs/svelte/issues/7633 export default test({ - async test({ assert, target, component }) { + test({ assert, target, component }) { let inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, true); assert.equal(inputs[1].checked, false); assert.equal(inputs[2].checked, false); - await component.moveDown(0); - await component.moveDown(1); - - await Promise.resolve(); + component.moveDown(0); + flushSync(); + component.moveDown(1); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -34,13 +35,15 @@ export default test({ assert.equal(inputs[1].checked, false); assert.equal(inputs[2].checked, true); - await (component.current = 'b'); + component.current = 'b'; + flushSync(); assert.equal(inputs[0].checked, true); assert.equal(inputs[1].checked, false); assert.equal(inputs[2].checked, false); - await component.moveDown(1); + component.moveDown(1); + flushSync(); // after shifting order, should still keep the correct radio checked inputs = target.querySelectorAll('input'); diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-1/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-1/_config.js index 778cb49df9..d91a7ebadb 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-1/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-1/_config.js @@ -1,7 +1,8 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, component, window }) { + test({ assert, target, component, window }) { const button = target.querySelector('button'); ok(button); const clickEvent = new window.Event('click', { bubbles: true }); @@ -27,24 +28,29 @@ export default test({ validate_inputs(true, true); input1.checked = false; - await input1.dispatchEvent(changeEvent); + input1.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, ['b']); input2.checked = false; - await input2.dispatchEvent(changeEvent); + input2.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, []); input1.checked = true; input2.checked = true; - await input1.dispatchEvent(changeEvent); - await input2.dispatchEvent(changeEvent); + input1.dispatchEvent(changeEvent); + input2.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, ['a', 'b']); - await button.dispatchEvent(clickEvent); + button.dispatchEvent(clickEvent); + flushSync(); assert.deepEqual(component.test, ['a', 'b']); // should it be ['a'] only? valid arguments for both outcomes input1.checked = false; - await input1.dispatchEvent(changeEvent); + input1.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, []); } }); diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-2/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-2/_config.js index 0676ab990f..8647d33f05 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-group-if-gh-8372-2/_config.js @@ -1,7 +1,8 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, component, window }) { + test({ assert, target, component, window }) { const button = target.querySelector('button'); ok(button); const clickEvent = new window.Event('click', { bubbles: true }); @@ -27,18 +28,22 @@ export default test({ validate_inputs(false, true); input1.checked = true; - await input1.dispatchEvent(changeEvent); + input1.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, 'a'); input2.checked = true; - await input2.dispatchEvent(changeEvent); + input2.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, 'b'); - await button.dispatchEvent(clickEvent); + button.dispatchEvent(clickEvent); + flushSync(); assert.deepEqual(component.test, 'b'); // should it be undefined? valid arguments for both outcomes input1.checked = true; - await input1.dispatchEvent(changeEvent); + input1.dispatchEvent(changeEvent); + flushSync(); assert.deepEqual(component.test, 'a'); } }); diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-number/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-number/_config.js index ac089e8797..4c0b68ecb9 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-number/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-number/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({number 42
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); assert.equal(input.value, '42'); @@ -23,7 +24,8 @@ export default test({ const event = new window.Event('input'); input.value = '43'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(component.count, 43); assert.htmlEqual( @@ -46,7 +48,8 @@ export default test({ // empty string should be treated as null input.value = ''; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(component.count, null); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-radio-group/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-radio-group/_config.js index 6a34d7cd5b..b0d5064383 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-radio-group/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-radio-group/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; const values = [{ name: 'Alpha' }, { name: 'Beta' }, { name: 'Gamma' }]; @@ -37,7 +38,7 @@ export default test({Beta
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); assert.equal(inputs[0].checked, false); assert.equal(inputs[1].checked, true); @@ -46,7 +47,8 @@ export default test({ const event = new window.Event('change'); inputs[0].checked = true; - await inputs[0].dispatchEvent(event); + inputs[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-range-change-with-max/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-range-change-with-max/_config.js index c56f2d6d6f..1c5a41ced3 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-range-change-with-max/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-range-change-with-max/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -13,7 +14,7 @@ export default test({10 of 10
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); assert.equal(input.value, '10'); @@ -25,8 +26,8 @@ export default test({ const button = target.querySelector('button'); ok(button); - await button.dispatchEvent(new window.Event('click', { bubbles: true })); - await Promise.resolve(); + button.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.equal(input.value, '20'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-range/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-range/_config.js index d7aa15433f..9c3eecf370 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-range/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-range/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({number 42
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); assert.equal(input.value, '42'); @@ -23,7 +24,8 @@ export default test({ const event = new window.Event('input'); input.value = '43'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(component.count, 43); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual-deconflicted/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual-deconflicted/_config.js index 4917e8427e..45403898ae 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual-deconflicted/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual-deconflicted/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({x
remaining:one / done:two / remaining:three
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { /** * @param {number} i * @param {string} text @@ -88,8 +89,8 @@ export default test({ ` ); - await set_text(1, 'four'); - await Promise.resolve(); + set_text(1, 'four'); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -113,8 +114,8 @@ export default test({ { done: false, text: 'four' } ]); - await set_done(0, true); - await Promise.resolve(); + set_done(0, true); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual/_config.js index 088691854e..9922ce1c78 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-contextual/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -29,7 +30,7 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = [...target.querySelectorAll('input')]; const items = component.items; const event = new window.Event('input'); @@ -37,8 +38,8 @@ export default test({ assert.equal(inputs[0].value, 'one'); inputs[1].value = 'four'; - await inputs[1].dispatchEvent(event); - await Promise.resolve(); + inputs[1].dispatchEvent(event); + flushSync(); assert.equal(items[1], 'four'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deconflicted/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deconflicted/_config.js index ea05ae8e1e..43e0eec907 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deconflicted/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deconflicted/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); assert.equal(input.value, 'world'); @@ -23,7 +24,8 @@ export default test({ const event = new window.Event('input'); input.value = 'everybody'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(input.value, 'everybody'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed-dynamic/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed-dynamic/_config.js index eab5776eb0..77089cd01d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed-dynamic/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed-dynamic/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -18,7 +19,7 @@ export default test({{"foo":"a","bar":"b","baz":"c"}`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); @@ -27,7 +28,8 @@ export default test({ // edit bar input.value = 'e'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -42,7 +44,8 @@ export default test({ assert.equal(input.value, 'c'); input.value = 'f'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -57,7 +60,8 @@ export default test({ assert.equal(input.value, 'a'); input.value = 'd'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed/_config.js index 039ddcba69..188b3360b5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-computed/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({
hello alice
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); @@ -24,7 +25,8 @@ export default test({ const event = new window.Event('input'); input.value = 'bob'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual-computed-dynamic/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual-computed-dynamic/_config.js index 548fd8f4e4..51e4e12f5f 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual-computed-dynamic/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual-computed-dynamic/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -18,7 +19,7 @@ export default test({{"foo":"a","bar":"b","baz":"c"}`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); @@ -27,8 +28,8 @@ export default test({ // edit bar input.value = 'e'; - await input.dispatchEvent(event); - await Promise.resolve(); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -43,8 +44,8 @@ export default test({ assert.equal(input.value, 'c'); input.value = 'f'; - await input.dispatchEvent(event); - await Promise.resolve(); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -59,8 +60,8 @@ export default test({ assert.equal(input.value, 'a'); input.value = 'd'; - await input.dispatchEvent(event); - await Promise.resolve(); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual/_config.js index dc486ec9ba..fad359625a 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text-deep-contextual/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -19,16 +20,16 @@ export default test({
three
hello alice
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); @@ -24,7 +25,8 @@ export default test({ const event = new window.Event('input'); input.value = 'bob'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-input-text/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-input-text/_config.js index 8720cfb409..f59b6d4f1c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-input-text/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-input-text/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({hello world
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); assert.equal(input.value, 'world'); @@ -23,7 +24,8 @@ export default test({ const event = new window.Event('input'); input.value = 'everybody'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-select-implicit-option-value/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-select-implicit-option-value/_config.js index 2babb062f2..1fea6c08f4 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-select-implicit-option-value/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-select-implicit-option-value/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({foo: 2
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const select = target.querySelector('select'); ok(select); const options = [...target.querySelectorAll('option')]; @@ -26,7 +27,8 @@ export default test({ const change = new window.Event('change'); options[2].selected = true; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.equal(component.foo, 3); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-select-multiple/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-select-multiple/_config.js index c2d18ae661..42c0e018e5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-select-multiple/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-select-multiple/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({selected: two, three
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const select = target.querySelector('select'); ok(select); const options = [...target.querySelectorAll('option')]; @@ -23,7 +24,8 @@ export default test({ const change = new window.Event('change'); options[1].selected = false; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.deepEqual(component.selected, ['three']); assert.htmlEqual( @@ -40,7 +42,8 @@ export default test({ ); options[0].selected = true; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.deepEqual(component.selected, ['one', 'three']); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-select-optgroup/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-select-optgroup/_config.js index 71c8152398..d9544b7c4d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-select-optgroup/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-select-optgroup/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -23,7 +24,7 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const select = target.querySelector('select'); ok(select); @@ -35,7 +36,8 @@ export default test({ const change = new window.Event('change'); options[1].selected = true; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.equal(component.name, 'World'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-select/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-select/_config.js index 8d467d45b4..5577ec2393 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-select/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-select/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -17,7 +18,7 @@ export default test({ return { selected: 'one' }; }, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const select = target.querySelector('select'); ok(select); @@ -29,7 +30,8 @@ export default test({ const change = new window.Event('change'); options[1].selected = true; - await select.dispatchEvent(change); + select.dispatchEvent(change); + flushSync(); assert.equal(component.selected, 'two'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-store-deep/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-store-deep/_config.js index 1de88c4a6c..4854d6dec6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-store-deep/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-store-deep/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,7 +12,7 @@ export default test({hello world
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = target.querySelector('input'); ok(input); @@ -30,7 +31,8 @@ export default test({ }); input.value = 'everybody'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -40,7 +42,8 @@ export default test({ ` ); - await component.user.set({ name: 'goodbye' }); + component.user.set({ name: 'goodbye' }); + flushSync(); assert.equal(input.value, 'goodbye'); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-store-each/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-store-each/_config.js index 80f7b58975..d2df354ea6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-store-each/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-store-each/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -9,12 +10,13 @@ export default test({ 0 `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); input.checked = true; - await input.dispatchEvent(new window.Event('change', { bubbles: true })); + input.dispatchEvent(new window.Event('change', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-store/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-store/_config.js index b8c4ab1f9a..a8ab343002 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-store/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-store/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -15,7 +16,7 @@ export default test({some text
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const textarea = target.querySelector('textarea'); ok(textarea); assert.equal(textarea.value, 'some text'); @@ -23,7 +24,8 @@ export default test({ const event = new window.Event('input'); textarea.value = 'hello'; - await textarea.dispatchEvent(event); + textarea.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-this-and-value/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-this-and-value/_config.js index 18b2bc9089..6bffe1b469 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-this-and-value/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-this-and-value/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,13 +12,14 @@ export default test({value: initial
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'changed'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/binding-using-props/_config.js b/packages/svelte/tests/runtime-legacy/samples/binding-using-props/_config.js index 672932653c..1134b20d0c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/binding-using-props/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/binding-using-props/_config.js @@ -1,13 +1,15 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'changed'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-if/_config.js b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-if/_config.js index c3fd125ea9..d6e04b8fa4 100644 --- a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-if/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-if/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -10,7 +11,8 @@ export default test({ async test({ assert, target, window }) { const button = target.querySelector('button'); - await button?.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + button?.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-3/_config.js b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-3/_config.js index 9303a84511..c2f0e69ef5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-3/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-3/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,10 +8,11 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { // change from inside const button = target.querySelector('button'); - await button?.dispatchEvent(new window.Event('click', { bubbles: true })); + button?.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-4/_config.js b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-4/_config.js index 8fc86cd826..51e9d53ef0 100644 --- a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-4/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-4/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,10 +9,11 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { // change from inside const button = target.querySelector('button'); - await button?.dispatchEvent(new window.Event('click', { bubbles: true })); + button?.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-5/_config.js b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-5/_config.js index ebec5b2ae9..768af95193 100644 --- a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-5/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-5/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -10,10 +11,11 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { // change from inside const button = target.querySelector('button'); - await button?.dispatchEvent(new window.Event('click', { bubbles: true })); + button?.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-6/_config.js b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-6/_config.js index 33e55863ae..a905589f52 100644 --- a/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-6/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/bitmask-overflow-slot-6/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // overflow bitmask + slot missing `let:` @@ -9,10 +10,11 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelectorAll('button')[1]; const div = target.querySelector('div'); - await div?.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + div?.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -24,7 +26,8 @@ export default test({ ` ); - await button.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + button.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-accessors/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-accessors/_config.js index 827c19ba3a..1a6c9039a7 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-accessors/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-accessors/_config.js @@ -1,20 +1,23 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const [input1, input2] = target.querySelectorAll('input'); assert.equal(input1.value, 'something'); assert.equal(input2.value, 'something'); input1.value = 'abc'; - await input1.dispatchEvent(new window.Event('input')); + input1.dispatchEvent(new window.Event('input')); + flushSync(); assert.equal(input1.value, 'abc'); assert.equal(input2.value, 'abc'); - await target + target .querySelector('button') ?.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.equal(input1.value, 'Reset'); assert.equal(input2.value, 'Reset'); diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-d/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-d/_config.js index 54ce1a678f..aafce86336 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-d/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-d/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,11 +10,11 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelectorAll('button')[1]; - await button.dispatchEvent(new window.Event('click', { bubbles: true })); - await Promise.resolve(); + button.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-e/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-e/_config.js index 3867ef6a5e..1d5ead8b72 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-e/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-e/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,11 +10,11 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelectorAll('button')[1]; - await button.dispatchEvent(new window.Event('click', { bubbles: true })); - await Promise.resolve(); + button.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-f/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-f/_config.js index fd82716f4a..82a6dcefea 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-f/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-f/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -17,15 +18,11 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelectorAll('button')[1]; - await button.dispatchEvent(new window.Event('click', { bubbles: true })); - // Multiple ticks necessary because each update is async - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + button.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-deep/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-deep/_config.js index 0479b7c529..a8881cb1ed 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-deep/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-deep/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,14 +12,14 @@ export default test({foo
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const event = new window.MouseEvent('input'); const input = target.querySelector('input'); ok(input); input.value = 'blah'; - await input.dispatchEvent(event); - await Promise.resolve(); + input.dispatchEvent(event); + flushSync(); assert.deepEqual(component.deep, { name: 'blah' }); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-deep2/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-deep2/_config.js index 0479b7c529..a8881cb1ed 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-deep2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-deep2/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,14 +12,14 @@ export default test({foo
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const event = new window.MouseEvent('input'); const input = target.querySelector('input'); ok(input); input.value = 'blah'; - await input.dispatchEvent(event); - await Promise.resolve(); + input.dispatchEvent(event); + flushSync(); assert.deepEqual(component.deep, { name: 'blah' }); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-each-nested/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-each-nested/_config.js index 6b8c50a023..1826f96913 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-each-nested/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-each-nested/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -13,13 +14,13 @@ export default test({foo, bar, baz
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const event = new window.MouseEvent('input'); const inputs = target.querySelectorAll('input'); inputs[0].value = 'blah'; - await inputs[0].dispatchEvent(event); - await Promise.resolve(); + inputs[0].dispatchEvent(event); + flushSync(); assert.deepEqual(component.a, [{ name: 'blah' }, { name: 'bar' }, { name: 'baz' }]); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-each/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-each/_config.js index 8c8fad3748..5242488d1f 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-each/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-each/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -13,13 +14,13 @@ export default test({foo, bar, baz
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const event = new window.MouseEvent('input'); const inputs = target.querySelectorAll('input'); inputs[0].value = 'blah'; - await inputs[0].dispatchEvent(event); - await Promise.resolve(); + inputs[0].dispatchEvent(event); + flushSync(); assert.deepEqual(component.a, ['blah', 'bar', 'baz']); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-infinite-loop/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-infinite-loop/_config.js index 57b3388ab4..e7759ccc87 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-infinite-loop/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-infinite-loop/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -28,12 +29,12 @@ export default test({1
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); const spans = target.querySelectorAll('span'); - await spans[0].dispatchEvent(click); - await Promise.resolve(); + spans[0].dispatchEvent(click); + flushSync(); assert.equal(component.currentIdentifier, 1); assert.htmlEqual( @@ -65,8 +66,8 @@ export default test({ ` ); - await spans[0].dispatchEvent(click); - await Promise.resolve(); + spans[0].dispatchEvent(click); + flushSync(); assert.equal(component.currentIdentifier, null); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-nested/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-nested/_config.js index e81c2580f6..630ddef5dc 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-nested/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-nested/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -15,11 +16,12 @@ export default test({baz x: initial
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); const buttons = [...target.querySelectorAll('button')]; - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.equal(component.x, 'p'); assert.htmlEqual( @@ -35,7 +37,8 @@ export default test({ ` ); - await buttons[1].dispatchEvent(click); + buttons[1].dispatchEvent(click); + flushSync(); assert.equal(component.x, 'q'); assert.htmlEqual( @@ -51,7 +54,8 @@ export default test({ ` ); - await buttons[2].dispatchEvent(click); + buttons[2].dispatchEvent(click); + flushSync(); assert.equal(component.x, 'r'); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-non-leaky/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-non-leaky/_config.js index da9c55eb1a..4a079d6fc6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-non-leaky/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-non-leaky/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,7 +12,8 @@ export default test({ const button = target.querySelector('button'); ok(button); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, undefined); assert.htmlEqual( @@ -22,7 +24,8 @@ export default test({ ` ); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, undefined); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-parent-supercedes-child/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-parent-supercedes-child/_config.js index b63198d2bc..fa20032eb0 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-parent-supercedes-child/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-parent-supercedes-child/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -6,12 +7,13 @@ export default test({count: 10
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); const button = target.querySelector('button'); ok(button); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 11); assert.htmlEqual( @@ -22,7 +24,8 @@ export default test({ ` ); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 12); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-reactive-statement/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-reactive-statement/_config.js index fa9fe3f3f4..dbd8a5d1a5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-reactive-statement/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-reactive-statement/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,12 +7,13 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const event = new window.MouseEvent('click', { bubbles: true }); const buttons = target.querySelectorAll('button'); - await buttons[0].dispatchEvent(event); + buttons[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -20,7 +22,8 @@ export default test({ ` ); - await buttons[1].dispatchEvent(event); + buttons[1].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -30,7 +33,8 @@ export default test({ ); // reactive update, reset to 2 - await buttons[0].dispatchEvent(event); + buttons[0].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -40,7 +44,8 @@ export default test({ ); // bound to main, reset to 2 - await buttons[1].dispatchEvent(event); + buttons[1].dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-self-destroying/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-self-destroying/_config.js index afea1a59f8..fcd468dc9d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-self-destroying/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-self-destroying/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,10 +10,11 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); - await target.querySelector('button')?.dispatchEvent(click); + target.querySelector('button')?.dispatchEvent(click); + flushSync(); assert.equal(component.show, false); assert.htmlEqual( @@ -22,7 +24,8 @@ export default test({ ` ); - await target.querySelector('button')?.dispatchEvent(click); + target.querySelector('button')?.dispatchEvent(click); + flushSync(); assert.equal(component.show, true); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding-store/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding-store/_config.js index c41af3ea56..dfa86868ff 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding-store/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding-store/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -12,7 +13,7 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { let count = 0; component.callback = () => { count++; @@ -21,8 +22,8 @@ export default test({ const [input1, input2] = target.querySelectorAll('input'); input1.value = '1'; - await input1.dispatchEvent(new window.Event('input')); - await Promise.resolve(); + input1.dispatchEvent(new window.Event('input')); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -37,8 +38,8 @@ export default test({ assert.equal(count, 1); input2.value = '123'; - await input2.dispatchEvent(new window.Event('input')); - await Promise.resolve(); + input2.dispatchEvent(new window.Event('input')); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -53,8 +54,8 @@ export default test({ assert.equal(count, 2); input1.value = '456'; - await input1.dispatchEvent(new window.Event('input')); - await Promise.resolve(); + input1.dispatchEvent(new window.Event('input')); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/component-binding/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-binding/_config.js index 07a3441f4c..40eacb5a5d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-binding/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-binding/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -6,12 +7,13 @@ export default test({count: 0
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); const button = target.querySelector('button'); ok(button); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 1); assert.htmlEqual( @@ -22,7 +24,8 @@ export default test({ ` ); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 2); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/component-prop-object/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-prop-object/_config.js index d37a72a2ee..96815e80f8 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-prop-object/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-prop-object/_config.js @@ -1,10 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: `child: 0 parent: 0 `, - async test({ assert, target }) { - await target.querySelector('button')?.click(); + test({ assert, target }) { + target.querySelector('button')?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, `child: 1 parent: 1 `); } }); diff --git a/packages/svelte/tests/runtime-legacy/samples/component-slot-attribute-order/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-slot-attribute-order/_config.js index 3e85f77b80..a79720ea3e 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-slot-attribute-order/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-slot-attribute-order/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const [btn, btn1, btn2] = target.querySelectorAll('button'); - await btn.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + btn.dispatchEvent(new window.MouseEvent('click', { bubbles: true })); + flushSync(); assert.equal(btn1.disabled, true); assert.equal(btn2.disabled, true); diff --git a/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-2/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-2/_config.js index ca5dda00f9..cdc011af82 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-2/_config.js @@ -1,19 +1,22 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ' ', ssrHtml: ' ', - async test({ assert, target, component, window }) { + test({ assert, target, component, window }) { const [input1, input2, inputFallback] = target.querySelectorAll('input'); // TODO this works differently now, deduplicates to one subscription - ok? // assert.equal(component.getSubscriberCount(), 3); input1.value = 'a'; - await input1.dispatchEvent(new window.Event('input')); + input1.dispatchEvent(new window.Event('input')); + flushSync(); input1.value = 'ab'; - await input1.dispatchEvent(new window.Event('input')); + input1.dispatchEvent(new window.Event('input')); + flushSync(); assert.equal(input1.value, 'ab'); assert.equal(input2.value, 'ab'); assert.equal(inputFallback.value, 'ab'); diff --git a/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-5/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-5/_config.js index dc80693d7f..cd1f446d0c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-5/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-slot-fallback-5/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -6,13 +7,14 @@ export default test({0
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); ok(button); const event = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(event); + button.dispatchEvent(event); + flushSync(); assert.equal(component.counter, 1); assert.htmlEqual( target.innerHTML, @@ -22,7 +24,8 @@ export default test({ ` ); - await button.dispatchEvent(event); + button.dispatchEvent(event); + flushSync(); assert.equal(component.counter, 2); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/destructuring-one-value-reactive/_config.js b/packages/svelte/tests/runtime-legacy/samples/destructuring-one-value-reactive/_config.js index 299fa14e2b..eb885e4d48 100644 --- a/packages/svelte/tests/runtime-legacy/samples/destructuring-one-value-reactive/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/destructuring-one-value-reactive/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -5,9 +6,10 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/dynamic-component-evals-props-once/_config.js b/packages/svelte/tests/runtime-legacy/samples/dynamic-component-evals-props-once/_config.js index eb02214ae8..ff3f22ac61 100644 --- a/packages/svelte/tests/runtime-legacy/samples/dynamic-component-evals-props-once/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/dynamic-component-evals-props-once/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,7 +10,8 @@ export default test({ async test({ assert, component, window, target }) { const button = target.querySelector('button'); // @ts-ignore - await button.dispatchEvent(new window.Event('click')); + button.dispatchEvent(new window.Event('click')); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -19,7 +21,8 @@ export default test({ ); assert.equal(component.n, 2); // @ts-ignore - await button.dispatchEvent(new window.Event('click')); + button.dispatchEvent(new window.Event('click')); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/dynamic-component-spread-props/_config.js b/packages/svelte/tests/runtime-legacy/samples/dynamic-component-spread-props/_config.js index 8e224b3eb3..643066abb5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/dynamic-component-spread-props/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/dynamic-component-spread-props/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,10 +9,11 @@ export default test({ `, - async test({ assert, window, target }) { + test({ assert, window, target }) { const button = target.querySelector('button'); // @ts-ignore - await button.dispatchEvent(new window.Event('click')); + button.dispatchEvent(new window.Event('click')); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -22,7 +24,8 @@ export default test({ ` ); // @ts-ignore - await button.dispatchEvent(new window.Event('click')); + button.dispatchEvent(new window.Event('click')); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/each-block-destructured-object-binding/_config.js b/packages/svelte/tests/runtime-legacy/samples/each-block-destructured-object-binding/_config.js index 377a3503d8..18bd70b9ac 100644 --- a/packages/svelte/tests/runtime-legacy/samples/each-block-destructured-object-binding/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/each-block-destructured-object-binding/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -19,12 +20,12 @@ export default test({Doctor Who
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const inputs = target.querySelectorAll('input'); inputs[1].value = 'Oz'; - await inputs[1].dispatchEvent(new window.Event('input')); - await Promise.resolve(); + inputs[1].dispatchEvent(new window.Event('input')); + flushSync(); const { people } = component; diff --git a/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-bind-group/_config.js b/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-bind-group/_config.js index 5df9a03e8b..e993f73963 100644 --- a/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-bind-group/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-bind-group/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,13 +10,13 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const [input1, input2, input3, input4, input5] = target.querySelectorAll('input'); const event = new window.Event('change'); input3.checked = true; - await input3.dispatchEvent(event); - await Promise.resolve(); + input3.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -35,8 +36,8 @@ export default test({ assert.equal(input5.checked, false); input4.checked = true; - await input4.dispatchEvent(event); - await Promise.resolve(); + input4.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -56,8 +57,8 @@ export default test({ assert.equal(input5.checked, false); input3.checked = false; - await input3.dispatchEvent(event); - await Promise.resolve(); + input3.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-dynamic-2/_config.js b/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-dynamic-2/_config.js index 846351c092..a19d789c78 100644 --- a/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-dynamic-2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/each-block-keyed-dynamic-2/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -7,12 +8,13 @@ export default test({on: 1
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const buttons = target.querySelectorAll('button'); const event = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(event); - await Promise.resolve(); + buttons[0].dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -24,8 +26,9 @@ export default test({ ` ); - await buttons[2].dispatchEvent(event); - await Promise.resolve(); + buttons[2].dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/event-handler-each-deconflicted/_config.js b/packages/svelte/tests/runtime-legacy/samples/event-handler-each-deconflicted/_config.js index cda08132e6..98433eda04 100644 --- a/packages/svelte/tests/runtime-legacy/samples/event-handler-each-deconflicted/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/event-handler-each-deconflicted/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -11,11 +12,13 @@ export default test({clicked: neither
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const buttons = target.querySelectorAll('button'); const event = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(event); + buttons[0].dispatchEvent(event); + flushSync(); + assert.equal(component.clicked, 'foo'); assert.htmlEqual( target.innerHTML, @@ -26,7 +29,9 @@ export default test({ ` ); - await buttons[1].dispatchEvent(event); + buttons[1].dispatchEvent(event); + flushSync(); + assert.equal(component.clicked, 'bar'); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/event-handler-each/_config.js b/packages/svelte/tests/runtime-legacy/samples/event-handler-each/_config.js index d638b35a58..aa97c5d24a 100644 --- a/packages/svelte/tests/runtime-legacy/samples/event-handler-each/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/event-handler-each/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -15,11 +16,13 @@ export default test({selected: foo
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const event = new window.MouseEvent('click', { bubbles: true }); - await buttons[1].dispatchEvent(event); + buttons[1].dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/event-handler-modifier-once-duplicated/_config.js b/packages/svelte/tests/runtime-legacy/samples/event-handler-modifier-once-duplicated/_config.js index ab139e137f..7ab1508673 100644 --- a/packages/svelte/tests/runtime-legacy/samples/event-handler-modifier-once-duplicated/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/event-handler-modifier-once-duplicated/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,14 +12,18 @@ export default test({ const event = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(event); + buttons[0].dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` ` ); - await buttons[1].dispatchEvent(event); + buttons[1].dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/event-handler-sanitize/_config.js b/packages/svelte/tests/runtime-legacy/samples/event-handler-sanitize/_config.js index 3a030adca4..4986ac9de2 100644 --- a/packages/svelte/tests/runtime-legacy/samples/event-handler-sanitize/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/event-handler-sanitize/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -13,7 +14,9 @@ export default test({ ok(button); const event = new window.MouseEvent('some-event'); - await div.dispatchEvent(event); + div.dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -23,7 +26,9 @@ export default test({ ` ); - await button.click(); + button.click(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/event-handler/_config.js b/packages/svelte/tests/runtime-legacy/samples/event-handler/_config.js index be7a9c7288..0e437cdeb6 100644 --- a/packages/svelte/tests/runtime-legacy/samples/event-handler/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/event-handler/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -5,13 +6,15 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelector('button'); ok(button); const event = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(event); + button.dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -20,7 +23,9 @@ export default test({ ` ); - await button.dispatchEvent(event); + button.dispatchEvent(event); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/globals-not-overwritten-by-bindings/_config.js b/packages/svelte/tests/runtime-legacy/samples/globals-not-overwritten-by-bindings/_config.js index 80cb03edb9..6ffb1b7370 100644 --- a/packages/svelte/tests/runtime-legacy/samples/globals-not-overwritten-by-bindings/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/globals-not-overwritten-by-bindings/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -51,14 +52,15 @@ export default test({ }; }, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const input = /** @type {HTMLInputElement} */ ( document.querySelectorAll('input[type="checkbox"]')[2] ); const change = new window.Event('change'); input.checked = true; - await input.dispatchEvent(change); + input.dispatchEvent(change); + flushSync(); assert.ok(component.todos.third.done); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/if-block-else-update/_config.js b/packages/svelte/tests/runtime-legacy/samples/if-block-else-update/_config.js index 36b355e945..bed9ff6611 100644 --- a/packages/svelte/tests/runtime-legacy/samples/if-block-else-update/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/if-block-else-update/_config.js @@ -1,12 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const [btn1, btn2] = target.querySelectorAll('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn2.dispatchEvent(clickEvent); + btn2.dispatchEvent(clickEvent); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -19,7 +22,9 @@ export default test({ ` ); - await btn1.dispatchEvent(clickEvent); + btn1.dispatchEvent(clickEvent); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -32,7 +37,9 @@ export default test({ ` ); - await btn2.dispatchEvent(clickEvent); + btn2.dispatchEvent(clickEvent); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -45,7 +52,9 @@ export default test({ ` ); - await btn1.dispatchEvent(clickEvent); + btn1.dispatchEvent(clickEvent); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/inline-style-become-undefined/_config.js b/packages/svelte/tests/runtime-legacy/samples/inline-style-become-undefined/_config.js index 59181bb6ce..4e2d400fd5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/inline-style-become-undefined/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/inline-style-become-undefined/_config.js @@ -1,14 +1,15 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const div = target.querySelector('div'); ok(div); const click = new window.MouseEvent('click', { bubbles: true }); assert.htmlEqual(target.innerHTML, ''); - await div.dispatchEvent(click); - await Promise.resolve(); + div.dispatchEvent(click); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-legacy/samples/inline-style-directive-shorthand-declaration-only/_config.js b/packages/svelte/tests/runtime-legacy/samples/inline-style-directive-shorthand-declaration-only/_config.js index dfcd5a31fe..b71b056434 100644 --- a/packages/svelte/tests/runtime-legacy/samples/inline-style-directive-shorthand-declaration-only/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/inline-style-directive-shorthand-declaration-only/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,7 +8,7 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const [p1, p2] = target.querySelectorAll('p'); assert.equal(window.getComputedStyle(p1).color, 'red'); @@ -16,7 +17,7 @@ export default test({ const btn = target.querySelector('button'); console.log(btn); btn?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-destructuring/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-destructuring/_config.js index e9ec80cf18..4d111c60a8 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-destructuring/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-destructuring/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,11 +9,12 @@ export default test({x: 0
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -23,7 +25,8 @@ export default test({ ` ); - await buttons[1].dispatchEvent(click); + buttons[1].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-loop-scope/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-loop-scope/_config.js index d269944d97..14717a95ec 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-loop-scope/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-loop-scope/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,11 +7,13 @@ export default test({x: 0
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-multiple-assignments/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-multiple-assignments/_config.js index 1645d87a77..cd13cc73ac 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-multiple-assignments/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-multiple-assignments/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -11,11 +12,12 @@ export default test({bar: 0
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await button?.dispatchEvent(click); + button?.dispatchEvent(click); + flushSync(); assert.equal(component.foo, 4); assert.equal(component.bar, 2); diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-update/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-update/_config.js index c18060047b..a7673f2573 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-update/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-script-update/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,11 +7,12 @@ export default test({x: 0
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-destructuring/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-destructuring/_config.js index e9ec80cf18..b2c0e80831 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-destructuring/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-destructuring/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -12,7 +13,9 @@ export default test({ const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -23,7 +26,9 @@ export default test({ ` ); - await buttons[1].dispatchEvent(click); + buttons[1].dispatchEvent(click); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-loop-scope/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-loop-scope/_config.js index d269944d97..14717a95ec 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-loop-scope/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-loop-scope/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,11 +7,13 @@ export default test({x: 0
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-multiple-assignments/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-multiple-assignments/_config.js index 1645d87a77..cd13cc73ac 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-multiple-assignments/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-multiple-assignments/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -11,11 +12,12 @@ export default test({bar: 0
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await button?.dispatchEvent(click); + button?.dispatchEvent(click); + flushSync(); assert.equal(component.foo, 4); assert.equal(component.bar, 2); diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-update/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-update/_config.js index c18060047b..a7673f2573 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-update/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-template-update/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,11 +7,12 @@ export default test({x: 0
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/instrumentation-update-expression/_config.js b/packages/svelte/tests/runtime-legacy/samples/instrumentation-update-expression/_config.js index d58be61a36..a3c5b2a825 100644 --- a/packages/svelte/tests/runtime-legacy/samples/instrumentation-update-expression/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/instrumentation-update-expression/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,24 +10,28 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const [foo, bar] = target.querySelectorAll('p'); const [button1, button2, button3, button4] = target.querySelectorAll('button'); const event = new window.MouseEvent('click', { bubbles: true }); - await button1.dispatchEvent(event); + button1.dispatchEvent(event); + flushSync(); assert.equal(foo.innerHTML, '1'); assert.equal(bar.innerHTML, '0'); - await button2.dispatchEvent(event); + button2.dispatchEvent(event); + flushSync(); assert.equal(foo.innerHTML, '2'); assert.equal(bar.innerHTML, '0'); - await button3.dispatchEvent(event); + button3.dispatchEvent(event); + flushSync(); assert.equal(foo.innerHTML, '2'); assert.equal(bar.innerHTML, '1'); - await button4.dispatchEvent(event); + button4.dispatchEvent(event); + flushSync(); assert.equal(foo.innerHTML, '2'); assert.equal(bar.innerHTML, '2'); } diff --git a/packages/svelte/tests/runtime-legacy/samples/invalidation-in-if-condition/_config.js b/packages/svelte/tests/runtime-legacy/samples/invalidation-in-if-condition/_config.js index 881cba8c13..02f43929d8 100644 --- a/packages/svelte/tests/runtime-legacy/samples/invalidation-in-if-condition/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/invalidation-in-if-condition/_config.js @@ -1,21 +1,25 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ html: '', - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelector('button'); ok(button); const click = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual(target.innerHTML, ''); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual(target.innerHTML, ''); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-legacy/samples/key-block-component-slot/_config.js b/packages/svelte/tests/runtime-legacy/samples/key-block-component-slot/_config.js index 8265e5b62f..837d1d112b 100644 --- a/packages/svelte/tests/runtime-legacy/samples/key-block-component-slot/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/key-block-component-slot/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {string[]} */ @@ -13,14 +14,14 @@ export default test({ logs = []; }, - async test({ assert, target }) { + test({ assert, target }) { assert.deepEqual(logs, ['mount']); const button = target.querySelector('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await button?.dispatchEvent(click); - await Promise.resolve(); + button?.dispatchEvent(click); + flushSync(); assert.deepEqual(logs, ['mount', 'unmount', 'mount']); } diff --git a/packages/svelte/tests/runtime-legacy/samples/key-block-static-if/_config.js b/packages/svelte/tests/runtime-legacy/samples/key-block-static-if/_config.js index 0aa126ddc6..baa6ac3a7e 100644 --- a/packages/svelte/tests/runtime-legacy/samples/key-block-static-if/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/key-block-static-if/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -10,7 +11,8 @@ export default test({ async test({ assert, target, window }) { const button = target.querySelector('button'); - await button?.dispatchEvent(new window.Event('click', { bubbles: true })); + button?.dispatchEvent(new window.Event('click', { bubbles: true })); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/mutation-tracking-across-sibling-scopes/_config.js b/packages/svelte/tests/runtime-legacy/samples/mutation-tracking-across-sibling-scopes/_config.js index b67753cffc..fbbc749b6d 100644 --- a/packages/svelte/tests/runtime-legacy/samples/mutation-tracking-across-sibling-scopes/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/mutation-tracking-across-sibling-scopes/_config.js @@ -1,7 +1,8 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, component, target }) { + test({ assert, component, target }) { assert.htmlEqual(component.div.innerHTML, 'Another first line
This line should be last.
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); ok(btn); const clickEvent = new window.MouseEvent('click', { bubbles: true }); - await btn.dispatchEvent(clickEvent); - await Promise.resolve(); // TODO: We use a pre_effect for $:, changing to computed will make this line redundant - await Promise.resolve(); // additional tick to rerender + btn.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -25,9 +25,8 @@ export default test({ ` ); - await btn.dispatchEvent(clickEvent); - await Promise.resolve(); // TODO: We use a pre_effect for $:, changing to computed will make this line redundant - await Promise.resolve(); // additional tick to rerender + btn.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/raw-mustache-inside-slot/_config.js b/packages/svelte/tests/runtime-legacy/samples/raw-mustache-inside-slot/_config.js index a8d9c3e11f..63a4b8aed3 100644 --- a/packages/svelte/tests/runtime-legacy/samples/raw-mustache-inside-slot/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/raw-mustache-inside-slot/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -6,14 +7,14 @@ export default test({Another first line
This line should be last.
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); ok(btn); const clickEvent = new window.MouseEvent('click', { bubbles: true }); - await btn.dispatchEvent(clickEvent); - await Promise.resolve(); // additional tick to rerender + btn.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -24,8 +25,8 @@ export default test({ ` ); - await btn.dispatchEvent(clickEvent); - await Promise.resolve(); // additional tick to rerender + btn.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/reactive-compound-operator/_config.js b/packages/svelte/tests/runtime-legacy/samples/reactive-compound-operator/_config.js index 03e69eac3c..9eecf4a7a5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/reactive-compound-operator/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/reactive-compound-operator/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -11,7 +12,8 @@ export default test({ const button = target.querySelector('button'); ok(button); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 2); assert.htmlEqual( @@ -22,7 +24,8 @@ export default test({ ` ); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 6); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/reactive-function-called-reassigned/_config.js b/packages/svelte/tests/runtime-legacy/samples/reactive-function-called-reassigned/_config.js index ee28fb43c3..dacf6ffbc5 100644 --- a/packages/svelte/tests/runtime-legacy/samples/reactive-function-called-reassigned/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/reactive-function-called-reassigned/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; /** @type {string[]} */ @@ -17,7 +18,7 @@ export default test({ before_test() { called = 0; }, - async test({ assert, target, window }) { + test({ assert, target, window }) { assert.equal(called, 1); const input = target.querySelector('input'); @@ -25,7 +26,8 @@ export default test({ const event = new window.Event('input'); input.value = 'h'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.equal(called, 2); assert.equal(value.length, 3); diff --git a/packages/svelte/tests/runtime-legacy/samples/reactive-statement-indirect/_config.js b/packages/svelte/tests/runtime-legacy/samples/reactive-statement-indirect/_config.js index 96fe6ded05..4cc21b0db9 100644 --- a/packages/svelte/tests/runtime-legacy/samples/reactive-statement-indirect/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/reactive-statement-indirect/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -5,12 +6,12 @@ export default test({count: 1
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const click = new window.MouseEvent('click', { bubbles: true }); const button = target.querySelector('button'); ok(button); assert.equal(component.x, 1); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 3); assert.htmlEqual( @@ -24,7 +26,8 @@ export default test({ ` ); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.equal(component.x, 5); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-legacy/samples/reactive-value-mutate-const/_config.js b/packages/svelte/tests/runtime-legacy/samples/reactive-value-mutate-const/_config.js index 55f4777c1a..03d973fc0b 100644 --- a/packages/svelte/tests/runtime-legacy/samples/reactive-value-mutate-const/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/reactive-value-mutate-const/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,12 +7,12 @@ export default test({doubled: 0
`, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); ok(button); const click = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -27,7 +29,8 @@ export default test({ ` ); - await component.count.set(42); + component.count.set(42); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe-implicit/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe-implicit/_config.js index 65403b047b..a6be345b6b 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe-implicit/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe-implicit/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; import { writable } from 'svelte/store'; @@ -10,13 +11,14 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); ok(button); const click = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -25,7 +27,8 @@ export default test({ ` ); - await component.count.set(42); + component.count.set(42); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe/_config.js index 65403b047b..a6be345b6b 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-auto-subscribe/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; import { writable } from 'svelte/store'; @@ -10,13 +11,14 @@ export default test({ `, - async test({ assert, component, target, window }) { + test({ assert, component, target, window }) { const button = target.querySelector('button'); ok(button); const click = new window.MouseEvent('click', { bubbles: true }); - await button.dispatchEvent(click); + button.dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -25,7 +27,8 @@ export default test({ ` ); - await component.count.set(42); + component.count.set(42); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-each-binding-deep/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-each-binding-deep/_config.js index 672932653c..1134b20d0c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-each-binding-deep/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-each-binding-deep/_config.js @@ -1,13 +1,15 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'changed'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-each-binding-destructuring/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-each-binding-destructuring/_config.js index 672932653c..1134b20d0c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-each-binding-destructuring/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-each-binding-destructuring/_config.js @@ -1,13 +1,15 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'changed'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-each-binding/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-each-binding/_config.js index 672932653c..1134b20d0c 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-each-binding/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-each-binding/_config.js @@ -1,13 +1,15 @@ +import { flushSync } from 'svelte'; import { ok, test } from '../../test'; export default test({ - async test({ assert, target, window }) { + test({ assert, target, window }) { const input = target.querySelector('input'); ok(input); const event = new window.Event('input'); input.value = 'changed'; - await input.dispatchEvent(event); + input.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/store-resubscribe/_config.js b/packages/svelte/tests/runtime-legacy/samples/store-resubscribe/_config.js index bd2d48a714..5c9229e7cf 100644 --- a/packages/svelte/tests/runtime-legacy/samples/store-resubscribe/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/store-resubscribe/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,11 +8,12 @@ export default test({ `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const buttons = target.querySelectorAll('button'); const click = new window.MouseEvent('click', { bubbles: true }); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -22,7 +24,8 @@ export default test({ ` ); - await buttons[1].dispatchEvent(click); + buttons[1].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, @@ -33,7 +36,8 @@ export default test({ ` ); - await buttons[0].dispatchEvent(click); + buttons[0].dispatchEvent(click); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/transition-js-events-in-out/_config.js b/packages/svelte/tests/runtime-legacy/samples/transition-js-events-in-out/_config.js index 785f51a4fa..5c4e6ea611 100644 --- a/packages/svelte/tests/runtime-legacy/samples/transition-js-events-in-out/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/transition-js-events-in-out/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -36,6 +37,8 @@ export default test({ await raf.tick(100); assert.equal(component.intro_count, 0); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-legacy/samples/transition-js-if-outro-unrelated-component-binding-update/_config.js b/packages/svelte/tests/runtime-legacy/samples/transition-js-if-outro-unrelated-component-binding-update/_config.js index 63827a1962..ccab0ca834 100644 --- a/packages/svelte/tests/runtime-legacy/samples/transition-js-if-outro-unrelated-component-binding-update/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/transition-js-if-outro-unrelated-component-binding-update/_config.js @@ -1,10 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, window, raf }) { + test({ assert, target, window, raf }) { const button = target.querySelector('button'); const event = new window.MouseEvent('click', { bubbles: true }); - await button?.dispatchEvent(event); + button?.dispatchEvent(event); + flushSync(); raf.tick(500); assert.htmlEqual(target.innerHTML, ''); } diff --git a/packages/svelte/tests/runtime-legacy/samples/window-binding-resize/_config.js b/packages/svelte/tests/runtime-legacy/samples/window-binding-resize/_config.js index 584fa02d45..62d24e7f1a 100644 --- a/packages/svelte/tests/runtime-legacy/samples/window-binding-resize/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/window-binding-resize/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -22,7 +23,7 @@ export default test({ mode: ['client', 'hydrate'], - async test({ assert, target, window }) { + test({ assert, target, window }) { const event = new window.Event('resize'); Object.defineProperties(window, { @@ -40,7 +41,8 @@ export default test({ } }); - await window.dispatchEvent(event); + window.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/window-binding-scroll-store/_config.js b/packages/svelte/tests/runtime-legacy/samples/window-binding-scroll-store/_config.js index 3a0f3ccd73..115c3cfd38 100644 --- a/packages/svelte/tests/runtime-legacy/samples/window-binding-scroll-store/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/window-binding-scroll-store/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @type {Window['scrollTo']} */ @@ -21,7 +22,7 @@ export default test({ window.scrollTo = original_scrollTo; }, - async test({ assert, target, window }) { + test({ assert, target, window }) { assert.equal(window.scrollY, 0); const event = new window.Event('scroll'); @@ -32,7 +33,8 @@ export default test({ } }); - await window.dispatchEvent(event); + window.dispatchEvent(event); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-legacy/samples/window-event-context/_config.js b/packages/svelte/tests/runtime-legacy/samples/window-event-context/_config.js index 42b8359059..775ea17bbb 100644 --- a/packages/svelte/tests/runtime-legacy/samples/window-event-context/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/window-event-context/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -12,11 +13,13 @@ export default test({ async test({ assert, component, target, window }) { const event = new window.Event('click'); - await window.dispatchEvent(event); + window.dispatchEvent(event); + flushSync(); assert.equal(component.foo, false); assert.htmlEqual(target.innerHTML, 'false'); - await window.dispatchEvent(event); + window.dispatchEvent(event); + flushSync(); assert.equal(component.foo, true); assert.htmlEqual(target.innerHTML, 'true'); } diff --git a/packages/svelte/tests/runtime-legacy/samples/window-event/_config.js b/packages/svelte/tests/runtime-legacy/samples/window-event/_config.js index e77a1f48b9..ac072aced2 100644 --- a/packages/svelte/tests/runtime-legacy/samples/window-event/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/window-event/_config.js @@ -1,9 +1,10 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: 'doubled: 0
`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -18,7 +20,8 @@ export default test({ ` ); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-derived-private/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-derived-private/_config.js index 54e9e296fc..141d994a2f 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-derived-private/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-derived-private/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({doubled: 0
`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -18,7 +20,8 @@ export default test({ ` ); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-derived/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-derived/_config.js index 54e9e296fc..141d994a2f 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-derived/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-derived/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({doubled: 0
`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -18,7 +20,8 @@ export default test({ ` ); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-increment/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-increment/_config.js index c7ea1a16db..9f7c3aec9b 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-increment/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-increment/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-init-conflict/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-init-conflict/_config.js index 436ce99798..8a7fcc66a0 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-init-conflict/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-init-conflict/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-2/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-2/_config.js index 6d49c0436f..6dd1762e30 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-2/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-2/_config.js @@ -1,15 +1,18 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); assert.deepEqual(logs, [undefined]); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-3/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-3/_config.js index 6d49c0436f..6dd1762e30 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-3/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager-3/_config.js @@ -1,15 +1,18 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); assert.deepEqual(logs, [undefined]); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager/_config.js index 4da3fffc5e..cea45924a9 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-init-eager/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-init-eager/_config.js @@ -1,15 +1,18 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); assert.deepEqual(logs, [100]); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-init/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-init/_config.js index 436ce99798..8a7fcc66a0 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-init/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-init/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-proxy/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-proxy/_config.js index 436ce99798..8a7fcc66a0 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-proxy/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-proxy/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-public-private/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-public-private/_config.js index 7601ea5fd5..db67cb10f5 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-public-private/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-public-private/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,7 +10,9 @@ export default test({ async test({ assert, target }) { const [btn1, btn2] = target.querySelectorAll('button'); - await btn1?.click(); + btn1?.click(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -18,7 +21,9 @@ export default test({ ` ); - await btn2?.click(); + btn2?.click(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/class-state-with-literal/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state-with-literal/_config.js index 5c9ce546c9..d2252ef0fd 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state-with-literal/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state-with-literal/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/class-state/_config.js b/packages/svelte/tests/runtime-runes/samples/class-state/_config.js index 436ce99798..8a7fcc66a0 100644 --- a/packages/svelte/tests/runtime-runes/samples/class-state/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/class-state/_config.js @@ -1,15 +1,18 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/component-let-directive/_config.js b/packages/svelte/tests/runtime-runes/samples/component-let-directive/_config.js index 386a3831b0..91c5fc418f 100644 --- a/packages/svelte/tests/runtime-runes/samples/component-let-directive/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/component-let-directive/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,9 +7,10 @@ export default test({named slot count is not state
`, - test: async ({ assert, target }) => { + test: ({ assert, target }) => { const button = target.querySelector('button'); - await button?.click(); + button?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/derived-direct/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-direct/_config.js index 09bd0a9aad..2ce8bf7e3f 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-direct/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-direct/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-fn-destructure/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-fn-destructure/_config.js index 71c7e40ed5..698fce15c4 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-fn-destructure/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-fn-destructure/_config.js @@ -1,13 +1,15 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ mode: ['server'], html: ``, - async test({ assert, target, window, logs }) { + test({ assert, target, window, logs }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); assert.deepEqual(logs, ['create_derived']); diff --git a/packages/svelte/tests/runtime-runes/samples/derived-fn/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-fn/_config.js index 09bd0a9aad..2ce8bf7e3f 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-fn/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-fn/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-indirect-arrow-fn/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-indirect-arrow-fn/_config.js index 09bd0a9aad..e896f69d44 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-indirect-arrow-fn/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-indirect-arrow-fn/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,7 +7,8 @@ export default test({ async test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn-2/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn-2/_config.js index 09bd0a9aad..2ce8bf7e3f 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn-2/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn-2/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn/_config.js index 09bd0a9aad..2ce8bf7e3f 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-indirect-fn/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/derived-proxy/_config.js b/packages/svelte/tests/runtime-runes/samples/derived-proxy/_config.js index 32340d018a..219cea79ea 100644 --- a/packages/svelte/tests/runtime-runes/samples/derived-proxy/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/derived-proxy/_config.js @@ -1,15 +1,18 @@ +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(); + btn1?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn2?.click(); + btn2?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/destructure-derived-event/_config.js b/packages/svelte/tests/runtime-runes/samples/destructure-derived-event/_config.js index 6ad462cddb..187cc4faba 100644 --- a/packages/svelte/tests/runtime-runes/samples/destructure-derived-event/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/destructure-derived-event/_config.js @@ -1,9 +1,11 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.deepEqual(logs, ['works!']); } diff --git a/packages/svelte/tests/runtime-runes/samples/each-mutation/_config.js b/packages/svelte/tests/runtime-runes/samples/each-mutation/_config.js index 0dac8c623b..81920136d8 100644 --- a/packages/svelte/tests/runtime-runes/samples/each-mutation/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/each-mutation/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -7,18 +8,18 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const [btn1, btn2, btn3] = target.querySelectorAll('button'); // ensure each click runs in its own rerender task - await btn1.click(); - await Promise.resolve(); + btn1.click(); + flushSync(); - await btn2.click(); - await Promise.resolve(); + btn2.click(); + flushSync(); - await btn3.click(); - await Promise.resolve(); + btn3.click(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/effect/_config.js b/packages/svelte/tests/runtime-runes/samples/effect/_config.js index 384356dc07..c836a2e593 100644 --- a/packages/svelte/tests/runtime-runes/samples/effect/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/effect/_config.js @@ -1,11 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const [b1, b2] = target.querySelectorAll('button'); b1.click(); b2.click(); - await Promise.resolve(); + flushSync(); assert.deepEqual(logs, [0, 1]); } diff --git a/packages/svelte/tests/runtime-runes/samples/effects-order/_config.js b/packages/svelte/tests/runtime-runes/samples/effects-order/_config.js index e4ca2d72a6..42d82f4973 100644 --- a/packages/svelte/tests/runtime-runes/samples/effects-order/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/effects-order/_config.js @@ -1,11 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const [b1, b2] = target.querySelectorAll('button'); b1.click(); b2.click(); - await Promise.resolve(); + flushSync(); assert.deepEqual(logs, ['first0', 'second0', 'first1', 'second1']); } diff --git a/packages/svelte/tests/runtime-runes/samples/event-arguments-2/_config.js b/packages/svelte/tests/runtime-runes/samples/event-arguments-2/_config.js index f2e6c67f8a..4af1ce0070 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-arguments-2/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-arguments-2/_config.js @@ -1,13 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [b1] = target.querySelectorAll('button'); b1?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-arguments/_config.js b/packages/svelte/tests/runtime-runes/samples/event-arguments/_config.js index f2e6c67f8a..4af1ce0070 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-arguments/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-arguments/_config.js @@ -1,13 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const [b1] = target.querySelectorAll('button'); b1?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-after-binding/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-after-binding/_config.js index e5ec3698e5..b141e87c9d 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-after-binding/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-after-binding/_config.js @@ -1,18 +1,21 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { const [i1, i2] = target.querySelectorAll('input'); i1?.click(); - await Promise.resolve(); + flushSync(); + assert.htmlEqual( target.innerHTML, 'true true false false ' ); i2?.click(); - await Promise.resolve(); + flushSync(); + assert.htmlEqual( target.innerHTML, 'true true true true ' diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-after-spread/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-after-spread/_config.js index 09975947e6..f520d92e8a 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-after-spread/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-after-spread/_config.js @@ -1,12 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { const input = target.querySelector('input'); input?.dispatchEvent(new Event('input', { bubbles: true })); - - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, 'true '); } diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-capture/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-capture/_config.js index a0ab696532..4ce0c516ed 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-capture/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-capture/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,11 +9,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const button = target.querySelector('button'); button?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-spread-capture/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-spread-capture/_config.js index a0ab696532..4ce0c516ed 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-spread-capture/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-spread-capture/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,11 +9,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const button = target.querySelector('button'); button?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/event-attribute-window/_config.js b/packages/svelte/tests/runtime-runes/samples/event-attribute-window/_config.js index 1efebf69b7..970064516c 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-attribute-window/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-attribute-window/_config.js @@ -1,11 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: `0
`, - async test({ assert, target }) { + test({ assert, target }) { target.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, '1
'); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-exported/_config.js b/packages/svelte/tests/runtime-runes/samples/event-exported/_config.js index 6dd1f8181e..e8eedc2e96 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-exported/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-exported/_config.js @@ -1,17 +1,18 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ mode: ['client'], - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2] = target.querySelectorAll('button'); b1?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); b2?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-listener-spread/_config.js b/packages/svelte/tests/runtime-runes/samples/event-listener-spread/_config.js index 43084e6809..26e442228b 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-listener-spread/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-listener-spread/_config.js @@ -1,13 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const button = target.querySelector('button'); button?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/event-used-in-component-and-element/_config.js b/packages/svelte/tests/runtime-runes/samples/event-used-in-component-and-element/_config.js index 6dd1f8181e..e8eedc2e96 100644 --- a/packages/svelte/tests/runtime-runes/samples/event-used-in-component-and-element/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/event-used-in-component-and-element/_config.js @@ -1,17 +1,18 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ mode: ['client'], - async test({ assert, target }) { + test({ assert, target }) { const [b1, b2] = target.querySelectorAll('button'); b1?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); b2?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/exports-1/_config.js b/packages/svelte/tests/runtime-runes/samples/exports-1/_config.js index 0e447e7055..96323bd0c6 100644 --- a/packages/svelte/tests/runtime-runes/samples/exports-1/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/exports-1/_config.js @@ -1,7 +1,8 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, component }) { + test({ assert, target, component }) { assert.htmlEqual( target.innerHTML, 'clicks: 0
' @@ -9,21 +10,21 @@ export default test({ const [incrementButton, decrementButton, doubleButton] = target.querySelectorAll('button'); incrementButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 1
' ); doubleButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 2
' ); decrementButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 1
' diff --git a/packages/svelte/tests/runtime-runes/samples/exports-2/_config.js b/packages/svelte/tests/runtime-runes/samples/exports-2/_config.js index 0e447e7055..96323bd0c6 100644 --- a/packages/svelte/tests/runtime-runes/samples/exports-2/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/exports-2/_config.js @@ -1,7 +1,8 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, component }) { + test({ assert, target, component }) { assert.htmlEqual( target.innerHTML, 'clicks: 0
' @@ -9,21 +10,21 @@ export default test({ const [incrementButton, decrementButton, doubleButton] = target.querySelectorAll('button'); incrementButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 1
' ); doubleButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 2
' ); decrementButton?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, 'clicks: 1
' diff --git a/packages/svelte/tests/runtime-runes/samples/exports-3/_config.js b/packages/svelte/tests/runtime-runes/samples/exports-3/_config.js index 6eb043db3d..cf22671d9f 100644 --- a/packages/svelte/tests/runtime-runes/samples/exports-3/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/exports-3/_config.js @@ -1,12 +1,13 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { assert.htmlEqual(target.innerHTML, `0 0 `); const [btn] = target.querySelectorAll('button'); btn?.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual(target.innerHTML, '1 2 '); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/inspect-derived/_config.js b/packages/svelte/tests/runtime-runes/samples/inspect-derived/_config.js index a8c47665b5..f115c15dfe 100644 --- a/packages/svelte/tests/runtime-runes/samples/inspect-derived/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/inspect-derived/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; /** @@ -17,14 +18,14 @@ export default test({ }; }, - async test({ assert, target }) { + test({ assert, target }) { const button = target.querySelector('button'); button?.click(); - await Promise.resolve(); + flushSync(); button?.click(); - await Promise.resolve(); + flushSync(); assert.deepEqual(log, ['init', 'X', 'update', 'XX', 'update', 'XXX']); } diff --git a/packages/svelte/tests/runtime-runes/samples/invalidate-effect/_config.js b/packages/svelte/tests/runtime-runes/samples/invalidate-effect/_config.js index b4ba660ad4..1562c8f88c 100644 --- a/packages/svelte/tests/runtime-runes/samples/invalidate-effect/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/invalidate-effect/_config.js @@ -1,12 +1,13 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target }) { + test({ assert, target }) { assert.htmlEqual(target.innerHTML, 'a\nIncrease count `, - async test({ assert, target, window }) { + test({ assert, target, window }) { const [multiplier, count] = target.querySelectorAll('button'); const clickEvent = new window.Event('click', { bubbles: true }); const span = /** @type {HTMLSpanElement} */ (target.querySelector('span')); @@ -19,16 +20,20 @@ export default test({ const expect_span_to_be = (count, multiplier) => assert.htmlEqual(span.innerHTML, `${count} * ${multiplier} = ${count * multiplier}`); - await count.dispatchEvent(clickEvent); + count.dispatchEvent(clickEvent); + flushSync(); expect_span_to_be(1, 2); - await multiplier.dispatchEvent(clickEvent); + multiplier.dispatchEvent(clickEvent); + flushSync(); expect_span_to_be(1, 3); - await count.dispatchEvent(clickEvent); + count.dispatchEvent(clickEvent); + flushSync(); expect_span_to_be(2, 3); - await multiplier.dispatchEvent(clickEvent); + multiplier.dispatchEvent(clickEvent); + flushSync(); expect_span_to_be(2, 4); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/mutation/_config.js b/packages/svelte/tests/runtime-runes/samples/mutation/_config.js index af8ead3929..9c666942f0 100644 --- a/packages/svelte/tests/runtime-runes/samples/mutation/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/mutation/_config.js @@ -1,16 +1,19 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/nested-destructure-assignment/_config.js b/packages/svelte/tests/runtime-runes/samples/nested-destructure-assignment/_config.js index 905e8b5d29..497939900e 100644 --- a/packages/svelte/tests/runtime-runes/samples/nested-destructure-assignment/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/nested-destructure-assignment/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -14,10 +15,11 @@ export default test({16
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const button = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await button?.dispatchEvent(clickEvent); + button?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/not-actual-runes/_config.js b/packages/svelte/tests/runtime-runes/samples/not-actual-runes/_config.js index 8d4d781076..83cd12f640 100644 --- a/packages/svelte/tests/runtime-runes/samples/not-actual-runes/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/not-actual-runes/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,9 +7,10 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/pre-effect/_config.js b/packages/svelte/tests/runtime-runes/samples/pre-effect/_config.js index 384356dc07..c836a2e593 100644 --- a/packages/svelte/tests/runtime-runes/samples/pre-effect/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/pre-effect/_config.js @@ -1,11 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const [b1, b2] = target.querySelectorAll('button'); b1.click(); b2.click(); - await Promise.resolve(); + flushSync(); assert.deepEqual(logs, [0, 1]); } diff --git a/packages/svelte/tests/runtime-runes/samples/props-alias/_config.js b/packages/svelte/tests/runtime-runes/samples/props-alias/_config.js index 0fc80f0df5..a0ab706edc 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-alias/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-alias/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,14 +10,14 @@ export default test({ `, - async test({ assert, target, component }) { + test({ assert, target, component }) { const [b1, b2, b3, b4] = target.querySelectorAll('button'); b1.click(); b2.click(); b3.click(); b4.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js b/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js index 3839cb0250..d04d8884ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // Tests that fallback value is propagated up correctly when the inner component @@ -6,10 +7,11 @@ export default test({ accessors: false, // so that prop actually becomes $.prop and not $.prop_source html: `0`, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, `1`); }, diff --git a/packages/svelte/tests/runtime-runes/samples/props-bound-to-normal/_config.js b/packages/svelte/tests/runtime-runes/samples/props-bound-to-normal/_config.js index aaf8f3b193..39eadeac90 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-bound-to-normal/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-bound-to-normal/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,16 +7,19 @@ export default test({ async test({ assert, target }) { const [btn1, btn2, btn3] = target.querySelectorAll('button'); - await btn1.click(); - await Promise.resolve(); + btn1.click(); + flushSync(); + assert.htmlEqual(target.innerHTML, ``); - await btn3.click(); - await Promise.resolve(); + btn3.click(); + flushSync(); + assert.htmlEqual(target.innerHTML, ``); - await btn2.click(); - await Promise.resolve(); + btn2.click(); + flushSync(); + assert.htmlEqual(target.innerHTML, ``); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/props-bound/_config.js b/packages/svelte/tests/runtime-runes/samples/props-bound/_config.js index 0fc80f0df5..a0ab706edc 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-bound/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-bound/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,14 +10,14 @@ export default test({ `, - async test({ assert, target, component }) { + test({ assert, target, component }) { const [b1, b2, b3, b4] = target.querySelectorAll('button'); b1.click(); b2.click(); b3.click(); b4.click(); - await Promise.resolve(); + flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/props-default-value-behavior/_config.js b/packages/svelte/tests/runtime-runes/samples/props-default-value-behavior/_config.js index 47f48b5c20..0b337d7bcb 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-default-value-behavior/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-default-value-behavior/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // Tests that default values apply every time and that they propagate back correctly for bindings @@ -59,7 +60,7 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const [ btn_5_1, btn_undefined_1, @@ -77,7 +78,8 @@ export default test({ btn_undefined_2.click(); btn_undefined_3.click(); btn_undefined_4.click(); - await Promise.resolve(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -140,7 +142,8 @@ export default test({ btn_5_2.click(); btn_5_3.click(); btn_5_4.click(); - await Promise.resolve(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -199,8 +202,9 @@ export default test({ ` ); - await btn_all_10.click(); - await Promise.resolve(); + btn_all_10.click(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` @@ -259,8 +263,9 @@ export default test({ ` ); - await btn_all_undefined.click(); - await Promise.resolve(); + btn_all_undefined.click(); + flushSync(); + assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/props-spread-fallback/_config.js b/packages/svelte/tests/runtime-runes/samples/props-spread-fallback/_config.js index 40ad73aa87..2fc8dd0fb9 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-spread-fallback/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-spread-fallback/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; // Tests that fallback values are kept as long as the prop is not defined in the case of a spread @@ -9,10 +10,11 @@ export default test({true fallback
`, - async test({ assert, target }) { + test({ assert, target }) { const [propA, propB] = target.querySelectorAll('button'); - await propA.click(); + propA.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -22,7 +24,8 @@ export default test({ ` ); - await propB.click(); + propB.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -32,7 +35,8 @@ export default test({ ` ); - await propA.click(); + propA.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -42,7 +46,8 @@ export default test({ ` ); - await propB.click(); + propB.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/readonly-state-replace/_config.js b/packages/svelte/tests/runtime-runes/samples/readonly-state-replace/_config.js index 41d9e4061a..38163eb526 100644 --- a/packages/svelte/tests/runtime-runes/samples/readonly-state-replace/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/readonly-state-replace/_config.js @@ -1,10 +1,11 @@ +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(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/readonly-state/_config.js b/packages/svelte/tests/runtime-runes/samples/readonly-state/_config.js index 384356dc07..c836a2e593 100644 --- a/packages/svelte/tests/runtime-runes/samples/readonly-state/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/readonly-state/_config.js @@ -1,11 +1,12 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - async test({ assert, target, logs }) { + test({ assert, target, logs }) { const [b1, b2] = target.querySelectorAll('button'); b1.click(); b2.click(); - await Promise.resolve(); + flushSync(); assert.deepEqual(logs, [0, 1]); } diff --git a/packages/svelte/tests/runtime-runes/samples/runes-in-module-context/_config.js b/packages/svelte/tests/runtime-runes/samples/runes-in-module-context/_config.js index 09bd0a9aad..2ce8bf7e3f 100644 --- a/packages/svelte/tests/runtime-runes/samples/runes-in-module-context/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/runes-in-module-context/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target, window }) { + test({ assert, target, window }) { const btn = target.querySelector('button'); const clickEvent = new window.Event('click', { bubbles: true }); - await btn?.dispatchEvent(clickEvent); + btn?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual(target.innerHTML, ``); } diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured-multiple/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured-multiple/_config.js index e756ff5cc2..ccd32ffe8c 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured-multiple/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured-multiple/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured/_config.js index b7b3133c30..5638cb79ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-argument-destructured/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-argument-multiple/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-argument-multiple/_config.js index e756ff5cc2..ccd32ffe8c 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-argument-multiple/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-argument-multiple/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-argument/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-argument/_config.js index b7b3133c30..5638cb79ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-argument/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-argument/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-complicated-defaults/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-complicated-defaults/_config.js index 4a403b3281..9b21023bf0 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-complicated-defaults/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-complicated-defaults/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -14,17 +15,22 @@ export default test({ assert.htmlEqual(count?.innerHTML ?? '', 'Count: 0'); assert.htmlEqual(fallback_count?.innerHTML ?? '', 'Fallback count: 0'); - await increment?.click(); + increment?.click(); + flushSync(); assert.htmlEqual(count?.innerHTML ?? '', 'Count: 1'); assert.htmlEqual(fallback_count?.innerHTML ?? '', 'Fallback count: 0'); - await change_ref?.click(); - await increment?.click(); + change_ref?.click(); + flushSync(); + increment?.click(); + flushSync(); assert.htmlEqual(count?.innerHTML ?? '', 'Count: 1'); assert.htmlEqual(fallback_count?.innerHTML ?? '', 'Fallback count: 1'); - await change_ref?.click(); - await increment?.click(); + change_ref?.click(); + flushSync(); + increment?.click(); + flushSync(); assert.htmlEqual(count?.innerHTML ?? '', 'Count: 2'); assert.htmlEqual(fallback_count?.innerHTML ?? '', 'Fallback count: 1'); } diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-const/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-const/_config.js index 8867993dbb..d0c32d4097 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-const/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-const/_config.js @@ -1,16 +1,19 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: ``, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); assert.htmlEqual(target.innerHTML, ''); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, ''); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-expressions/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-expressions/_config.js index 99568fe493..e411862c8f 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-expressions/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-expressions/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -20,9 +21,10 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-optional-arguments/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-optional-arguments/_config.js index 203cb1c432..6007d56cfe 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-optional-arguments/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-optional-arguments/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -8,7 +9,8 @@ export default test({ assert.htmlEqual(count?.innerHTML ?? '', '0'); assert.htmlEqual(fallback?.innerHTML ?? '', 'fallback'); - await count?.click(); + count?.click(); + flushSync(); assert.htmlEqual(count?.innerHTML ?? '', '1'); assert.htmlEqual(fallback?.innerHTML ?? '', 'fallback'); } diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-prop-explicit/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-prop-explicit/_config.js index b7b3133c30..5638cb79ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-prop-explicit/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-prop-explicit/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-prop-implicit/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-prop-implicit/_config.js index b7b3133c30..5638cb79ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-prop-implicit/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-prop-implicit/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,10 +7,11 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-prop-reactive/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-prop-reactive/_config.js index 89d4713cc0..fb5ee6b14b 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-prop-reactive/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-prop-reactive/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,9 +7,10 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/snippet-reactive/_config.js b/packages/svelte/tests/runtime-runes/samples/snippet-reactive/_config.js index 89d4713cc0..fb5ee6b14b 100644 --- a/packages/svelte/tests/runtime-runes/samples/snippet-reactive/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/snippet-reactive/_config.js @@ -1,3 +1,4 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ @@ -6,9 +7,10 @@ export default test({ `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/state-snapshot/_config.js b/packages/svelte/tests/runtime-runes/samples/state-snapshot/_config.js index 1088a5189c..bcbb4819df 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-snapshot/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-snapshot/_config.js @@ -1,12 +1,14 @@ +import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ html: `[{"a":0}] `, - async test({ assert, target }) { + test({ assert, target }) { const btn = target.querySelector('button'); - await btn?.click(); + btn?.click(); + flushSync(); assert.htmlEqual(target.innerHTML, `[{"a":0}] `); } }); diff --git a/packages/svelte/tests/runtime-runes/samples/state-space/_config.js b/packages/svelte/tests/runtime-runes/samples/state-space/_config.js index 2f7c0d88ac..2850ae43ef 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-space/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/state-space/_config.js @@ -1,12 +1,14 @@ +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(); + btn?.click(); + flushSync(); assert.htmlEqual( target.innerHTML, `x
`, - async test({ assert, target, window }) { + test({ assert, target, window }) { const clickEvent = new window.Event('click', { bubbles: true }); - await target.querySelector('button')?.dispatchEvent(clickEvent); + target.querySelector('button')?.dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, ` @@ -20,7 +22,8 @@ export default test({ ` ); - await target.querySelectorAll('button')[1].dispatchEvent(clickEvent); + target.querySelectorAll('button')[1].dispatchEvent(clickEvent); + flushSync(); assert.htmlEqual( target.innerHTML, `