Skip to content

Commit 4a556c9

Browse files
committed
update test
1 parent 48ef3e9 commit 4a556c9

File tree

2 files changed

+47
-11
lines changed

2 files changed

+47
-11
lines changed

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

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,40 @@ import { flushSync } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
5-
html: `<button>toggle (false)</button>`,
5+
html: `
6+
<button>toggle outer</button>
7+
<button>toggle inner</button>
8+
<button>reset</button>
9+
`,
610

711
test({ assert, target }) {
8-
const btn = target.querySelector('button');
9-
flushSync(() => btn?.click());
12+
const [outer, inner, reset] = target.querySelectorAll('button');
1013

11-
assert.htmlEqual(target.innerHTML, `<button>toggle (true)</button><p>bar is true</p>`);
14+
flushSync(() => outer?.click());
15+
flushSync(() => inner?.click());
16+
17+
assert.htmlEqual(
18+
target.innerHTML,
19+
`
20+
<button>toggle outer</button>
21+
<button>toggle inner</button>
22+
<button>reset</button>
23+
<p>v is true</p>
24+
`
25+
);
26+
27+
flushSync(() => reset?.click());
28+
flushSync(() => inner?.click());
29+
flushSync(() => outer?.click());
30+
31+
assert.htmlEqual(
32+
target.innerHTML,
33+
`
34+
<button>toggle outer</button>
35+
<button>toggle inner</button>
36+
<button>reset</button>
37+
<p>v is true</p>
38+
`
39+
);
1240
}
1341
});
Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script>
22
let value = $state(false);
3-
43
const fn = () => {
54
if ($effect.active()) {
65
$effect(() => {
@@ -10,14 +9,23 @@
109
return value;
1110
};
1211
13-
let foo = $state(false)
14-
let bar = $derived(foo ? fn() : false);
12+
let outer = $state(false);
13+
let inner = $state(false);
14+
let v = $derived(inner ? fn() : false);
1515
</script>
1616

17-
<button onclick={() => foo = !foo}>
18-
toggle ({foo})
17+
<button onclick={() => outer = !outer}>
18+
toggle outer
19+
</button>
20+
21+
<button onclick={() => inner = !inner}>
22+
toggle inner
23+
</button>
24+
25+
<button onclick={() => outer = inner = value = false}>
26+
reset
1927
</button>
2028

21-
{#if bar}
22-
<p>bar is true</p>
29+
{#if outer && v}
30+
<p>v is true</p>
2331
{/if}

0 commit comments

Comments
 (0)