failing test

pull/16197/head
Rich Harris 5 months ago
parent a98b5eaf5f
commit fc18e26bdd

@ -0,0 +1,50 @@
import { flushSync, tick } from 'svelte';
import { test } from '../../test';
export default test({
html: `
<button>resolve 1</button>
<button>resolve 2</button>
<hr>
<p>pending</p>
`,
async test({ assert, target }) {
const [button1, button2] = target.querySelectorAll('button');
flushSync(() => button1.click());
await Promise.resolve();
await Promise.resolve();
await Promise.resolve();
await tick();
flushSync();
assert.htmlEqual(
target.innerHTML,
`
<button>resolve 1</button>
<button>resolve 2</button>
<hr>
<p>pending</p>
`
);
flushSync(() => button2.click());
await Promise.resolve();
await Promise.resolve();
await Promise.resolve();
await tick();
flushSync();
assert.htmlEqual(
target.innerHTML,
`
<button>resolve 1</button>
<button>resolve 2</button>
<hr>
<button>0</button>
<p>true</p>
`
);
}
});

@ -0,0 +1,22 @@
<script>
let d1 = Promise.withResolvers();
let d2 = Promise.withResolvers();
let count = $state(0);
</script>
<button onclick={() => d1.resolve(true)}>resolve 1</button>
<button onclick={() => d2.resolve(true)}>resolve 2</button>
<hr>
<svelte:boundary>
{#if await d1.promise}
<button onclick={() => count += 1}>{count}</button>
<p>{await d2.promise}</p>
{/if}
{#snippet pending()}
<p>pending</p>
{/snippet}
</svelte:boundary>
Loading…
Cancel
Save