diff --git a/packages/svelte/tests/runtime-legacy/shared.ts b/packages/svelte/tests/runtime-legacy/shared.ts index 7f3673f867..a129fb9b31 100644 --- a/packages/svelte/tests/runtime-legacy/shared.ts +++ b/packages/svelte/tests/runtime-legacy/shared.ts @@ -423,6 +423,12 @@ async function run_test_variant( try { if (config.test) { flushSync(); + + if (variant === 'hydrate') { + // wait for pending boundaries to render + await Promise.resolve(); + } + await config.test({ // @ts-expect-error TS doesn't get it assert: { diff --git a/packages/svelte/tests/runtime-runes/samples/async-abort-signal/_config.js b/packages/svelte/tests/runtime-runes/samples/async-abort-signal/_config.js index 560a239790..b721f4dd62 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-abort-signal/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-abort-signal/_config.js @@ -1,12 +1,8 @@ -import { settled } from 'svelte'; +import { settled, tick } from 'svelte'; import { test } from '../../test'; export default test({ async test({ assert, target, logs, variant }) { - if (variant === 'hydrate') { - await Promise.resolve(); - } - const [reset, resolve] = target.querySelectorAll('button'); reset.click(); @@ -14,12 +10,7 @@ export default test({ assert.deepEqual(logs, ['aborted']); resolve.click(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + await tick(); assert.htmlEqual( target.innerHTML, ` diff --git a/packages/svelte/tests/runtime-runes/samples/async-attribute/_config.js b/packages/svelte/tests/runtime-runes/samples/async-attribute/_config.js index 35ee7606e7..0a64738409 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-attribute/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-attribute/_config.js @@ -1,4 +1,4 @@ -import { flushSync, tick } from 'svelte'; +import { tick } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -12,22 +12,17 @@ export default test({ async test({ assert, target }) { const [cool, neat, reset] = target.querySelectorAll('button'); - flushSync(() => cool.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + cool.click(); await tick(); - flushSync(); const p = target.querySelector('p'); ok(p); assert.htmlEqual(p.outerHTML, '
hello
'); - flushSync(() => reset.click()); + reset.click(); assert.htmlEqual(p.outerHTML, 'hello
'); - flushSync(() => neat.click()); - await Promise.resolve(); + neat.click(); await tick(); assert.htmlEqual(p.outerHTML, 'hello
'); } diff --git a/packages/svelte/tests/runtime-runes/samples/async-child-effect/_config.js b/packages/svelte/tests/runtime-runes/samples/async-child-effect/_config.js index 41d4130470..325cb1dcd6 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-child-effect/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-child-effect/_config.js @@ -1,5 +1,5 @@ import { flushSync, tick } from 'svelte'; -import { ok, test } from '../../test'; +import { test } from '../../test'; export default test({ html: ` @@ -7,20 +7,9 @@ export default test({loading
`, - async test({ assert, target, variant }) { - if (variant === 'hydrate') { - await Promise.resolve(); - } - - flushSync(() => { - target.querySelector('button')?.click(); - }); - - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + async test({ assert, target }) { + target.querySelector('button')?.click(); await tick(); - flushSync(); const [button1, button2] = target.querySelectorAll('button'); @@ -37,12 +26,8 @@ export default test({ flushSync(() => button2.click()); flushSync(() => button2.click()); - flushSync(() => button1.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + button1.click(); await tick(); - flushSync(); assert.htmlEqual( target.innerHTML, @@ -54,12 +39,8 @@ export default test({ ` ); - flushSync(() => button1.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); + button1.click(); await tick(); - flushSync(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/async-derived-in-if/_config.js b/packages/svelte/tests/runtime-runes/samples/async-derived-in-if/_config.js index ab020d85f7..914b311c97 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-derived-in-if/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-derived-in-if/_config.js @@ -1,18 +1,12 @@ -import { flushSync } from 'svelte'; +import { tick } from 'svelte'; import { test } from '../../test'; export default test({ async test({ assert, target }) { const button = target.querySelector('button'); - flushSync(() => button?.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - flushSync(); + button?.click(); + await tick(); assert.htmlEqual( target.innerHTML, diff --git a/packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js b/packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js index df3fbe65cd..fee8e2e6bf 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js @@ -1,4 +1,4 @@ -import { flushSync, tick } from 'svelte'; +import { tick } from 'svelte'; import { test } from '../../test'; export default test({ @@ -9,29 +9,13 @@ export default test({pending
`, - async test({ assert, target, component, errors, variant }) { - if (variant === 'hydrate') { - await Promise.resolve(); - } - + async test({ assert, target, errors }) { const [toggle, resolve1, resolve2] = target.querySelectorAll('button'); - flushSync(() => toggle.click()); - - flushSync(() => resolve1.click()); - await Promise.resolve(); - await Promise.resolve(); + toggle.click(); + resolve1.click(); + resolve2.click(); - flushSync(() => resolve2.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); await tick(); assert.htmlEqual( diff --git a/packages/svelte/tests/runtime-runes/samples/async-derived/_config.js b/packages/svelte/tests/runtime-runes/samples/async-derived/_config.js index d573cf6246..7239643464 100644 --- a/packages/svelte/tests/runtime-runes/samples/async-derived/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/async-derived/_config.js @@ -1,4 +1,4 @@ -import { flushSync, tick } from 'svelte'; +import { flushSync, settled, tick } from 'svelte'; import { ok, test } from '../../test'; export default test({ @@ -14,30 +14,20 @@ export default test({ const [resolve_a, resolve_b, reset, increment] = target.querySelectorAll('button'); flushSync(() => resolve_a.click()); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - await Promise.resolve(); - flushSync(); + await tick(); const p = target.querySelector('p'); ok(p); assert.htmlEqual(p.innerHTML, '1a'); flushSync(() => increment.click()); - await Promise.resolve(); - await Promise.resolve(); await tick(); assert.htmlEqual(p.innerHTML, '2a'); - flushSync(() => reset.click()); + reset.click(); assert.htmlEqual(p.innerHTML, '2a'); - flushSync(() => resolve_b.click()); - await Promise.resolve(); - await Promise.resolve(); + resolve_b.click(); await tick(); assert.htmlEqual(p.innerHTML, '2b');