get rid of a bunch of Promise.resolve chains

pull/15844/head
Rich Harris 3 months ago
parent 66635c5c34
commit 8d20a9af09

@ -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: {

@ -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,
`

@ -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, '<p class="cool">hello</p>');
flushSync(() => reset.click());
reset.click();
assert.htmlEqual(p.outerHTML, '<p class="cool">hello</p>');
flushSync(() => neat.click());
await Promise.resolve();
neat.click();
await tick();
assert.htmlEqual(p.outerHTML, '<p class="neat">hello</p>');
}

@ -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({
<p>loading</p>
`,
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,

@ -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,

@ -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({
<p>pending</p>
`,
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(

@ -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');

Loading…
Cancel
Save