failing test

pull/16280/head
Rich Harris 3 months ago
parent dccc31d6ec
commit b049086bfd

@ -0,0 +1,9 @@
<script>
import B from './B.svelte';
let { boolean, closed } = $props();
</script>
<span>{boolean}</span>
<B {closed} />

@ -0,0 +1,9 @@
<script>
import { close } from './Child.svelte';
let { closed } = $props();
$effect.pre(() => {
if (closed) close();
});
</script>

@ -0,0 +1,20 @@
<script module>
let object = $state();
export function open() {
object = { nested: { boolean: true } };
}
export function close() {
object = undefined;
}
</script>
<script>
let { children } = $props();
</script>
{#if object?.nested}
<!-- error occurs here, this is executed when the if should already make it falsy -->
{@render children(object.nested)}
{/if}

@ -0,0 +1,13 @@
import { flushSync } from 'svelte';
import { test } from '../../test';
export default test({
async test({ assert, target, logs }) {
const [open, close] = target.querySelectorAll('button');
flushSync(() => open.click());
flushSync(() => close.click());
assert.deepEqual(logs, [true]);
}
});

@ -0,0 +1,22 @@
<script>
import A from './A.svelte';
import Child, { open } from './Child.svelte';
let closed = $state(false);
</script>
<button onclick={open}>
open
</button>
<button onclick={() => closed = true}>
close
</button>
<hr>
<Child>
{#snippet children(nested)}
<A {closed} boolean={nested.boolean} />
{/snippet}
</Child>
Loading…
Cancel
Save