Skip to content

Commit 8d20a9a

Browse files
committed
get rid of a bunch of Promise.resolve chains
1 parent 66635c5 commit 8d20a9a

File tree

7 files changed

+29
-88
lines changed

7 files changed

+29
-88
lines changed

packages/svelte/tests/runtime-legacy/shared.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,12 @@ async function run_test_variant(
423423
try {
424424
if (config.test) {
425425
flushSync();
426+
427+
if (variant === 'hydrate') {
428+
// wait for pending boundaries to render
429+
await Promise.resolve();
430+
}
431+
426432
await config.test({
427433
// @ts-expect-error TS doesn't get it
428434
assert: {

packages/svelte/tests/runtime-runes/samples/async-abort-signal/_config.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
1-
import { settled } from 'svelte';
1+
import { settled, tick } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
55
async test({ assert, target, logs, variant }) {
6-
if (variant === 'hydrate') {
7-
await Promise.resolve();
8-
}
9-
106
const [reset, resolve] = target.querySelectorAll('button');
117

128
reset.click();
139
await settled();
1410
assert.deepEqual(logs, ['aborted']);
1511

1612
resolve.click();
17-
await Promise.resolve();
18-
await Promise.resolve();
19-
await Promise.resolve();
20-
await Promise.resolve();
21-
await Promise.resolve();
22-
await Promise.resolve();
13+
await tick();
2314
assert.htmlEqual(
2415
target.innerHTML,
2516
`

packages/svelte/tests/runtime-runes/samples/async-attribute/_config.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { flushSync, tick } from 'svelte';
1+
import { tick } from 'svelte';
22
import { ok, test } from '../../test';
33

44
export default test({
@@ -12,22 +12,17 @@ export default test({
1212
async test({ assert, target }) {
1313
const [cool, neat, reset] = target.querySelectorAll('button');
1414

15-
flushSync(() => cool.click());
16-
await Promise.resolve();
17-
await Promise.resolve();
18-
await Promise.resolve();
15+
cool.click();
1916
await tick();
20-
flushSync();
2117

2218
const p = target.querySelector('p');
2319
ok(p);
2420
assert.htmlEqual(p.outerHTML, '<p class="cool">hello</p>');
2521

26-
flushSync(() => reset.click());
22+
reset.click();
2723
assert.htmlEqual(p.outerHTML, '<p class="cool">hello</p>');
2824

29-
flushSync(() => neat.click());
30-
await Promise.resolve();
25+
neat.click();
3126
await tick();
3227
assert.htmlEqual(p.outerHTML, '<p class="neat">hello</p>');
3328
}

packages/svelte/tests/runtime-runes/samples/async-child-effect/_config.js

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,15 @@
11
import { flushSync, tick } from 'svelte';
2-
import { ok, test } from '../../test';
2+
import { test } from '../../test';
33

44
export default test({
55
html: `
66
<button>shift</button>
77
<p>loading</p>
88
`,
99

10-
async test({ assert, target, variant }) {
11-
if (variant === 'hydrate') {
12-
await Promise.resolve();
13-
}
14-
15-
flushSync(() => {
16-
target.querySelector('button')?.click();
17-
});
18-
19-
await Promise.resolve();
20-
await Promise.resolve();
21-
await Promise.resolve();
10+
async test({ assert, target }) {
11+
target.querySelector('button')?.click();
2212
await tick();
23-
flushSync();
2413

2514
const [button1, button2] = target.querySelectorAll('button');
2615

@@ -37,12 +26,8 @@ export default test({
3726
flushSync(() => button2.click());
3827
flushSync(() => button2.click());
3928

40-
flushSync(() => button1.click());
41-
await Promise.resolve();
42-
await Promise.resolve();
43-
await Promise.resolve();
29+
button1.click();
4430
await tick();
45-
flushSync();
4631

4732
assert.htmlEqual(
4833
target.innerHTML,
@@ -54,12 +39,8 @@ export default test({
5439
`
5540
);
5641

57-
flushSync(() => button1.click());
58-
await Promise.resolve();
59-
await Promise.resolve();
60-
await Promise.resolve();
42+
button1.click();
6143
await tick();
62-
flushSync();
6344

6445
assert.htmlEqual(
6546
target.innerHTML,

packages/svelte/tests/runtime-runes/samples/async-derived-in-if/_config.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
import { flushSync } from 'svelte';
1+
import { tick } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
55
async test({ assert, target }) {
66
const button = target.querySelector('button');
77

8-
flushSync(() => button?.click());
9-
await Promise.resolve();
10-
await Promise.resolve();
11-
await Promise.resolve();
12-
await Promise.resolve();
13-
await Promise.resolve();
14-
await Promise.resolve();
15-
flushSync();
8+
button?.click();
9+
await tick();
1610

1711
assert.htmlEqual(
1812
target.innerHTML,

packages/svelte/tests/runtime-runes/samples/async-derived-invalidation-during-init/_config.js

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { flushSync, tick } from 'svelte';
1+
import { tick } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
@@ -9,29 +9,13 @@ export default test({
99
<p>pending</p>
1010
`,
1111

12-
async test({ assert, target, component, errors, variant }) {
13-
if (variant === 'hydrate') {
14-
await Promise.resolve();
15-
}
16-
12+
async test({ assert, target, errors }) {
1713
const [toggle, resolve1, resolve2] = target.querySelectorAll('button');
1814

19-
flushSync(() => toggle.click());
20-
21-
flushSync(() => resolve1.click());
22-
await Promise.resolve();
23-
await Promise.resolve();
15+
toggle.click();
16+
resolve1.click();
17+
resolve2.click();
2418

25-
flushSync(() => resolve2.click());
26-
await Promise.resolve();
27-
await Promise.resolve();
28-
await Promise.resolve();
29-
await Promise.resolve();
30-
await Promise.resolve();
31-
await Promise.resolve();
32-
await Promise.resolve();
33-
await Promise.resolve();
34-
await Promise.resolve();
3519
await tick();
3620

3721
assert.htmlEqual(

packages/svelte/tests/runtime-runes/samples/async-derived/_config.js

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { flushSync, tick } from 'svelte';
1+
import { flushSync, settled, tick } from 'svelte';
22
import { ok, test } from '../../test';
33

44
export default test({
@@ -14,30 +14,20 @@ export default test({
1414
const [resolve_a, resolve_b, reset, increment] = target.querySelectorAll('button');
1515

1616
flushSync(() => resolve_a.click());
17-
await Promise.resolve();
18-
await Promise.resolve();
19-
await Promise.resolve();
20-
await Promise.resolve();
21-
await Promise.resolve();
22-
await Promise.resolve();
23-
flushSync();
17+
await tick();
2418

2519
const p = target.querySelector('p');
2620
ok(p);
2721
assert.htmlEqual(p.innerHTML, '1a');
2822

2923
flushSync(() => increment.click());
30-
await Promise.resolve();
31-
await Promise.resolve();
3224
await tick();
3325
assert.htmlEqual(p.innerHTML, '2a');
3426

35-
flushSync(() => reset.click());
27+
reset.click();
3628
assert.htmlEqual(p.innerHTML, '2a');
3729

38-
flushSync(() => resolve_b.click());
39-
await Promise.resolve();
40-
await Promise.resolve();
30+
resolve_b.click();
4131
await tick();
4232
assert.htmlEqual(p.innerHTML, '2b');
4333

0 commit comments

Comments
 (0)