Skip to content

Commit 635319f

Browse files
committed
bring test over
1 parent 4f95abf commit 635319f

File tree

4 files changed

+40
-0
lines changed

4 files changed

+40
-0
lines changed

packages/svelte/src/internal/client/reactivity/effects.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ export function destroy_effect_children(signal, remove_dom = false) {
392392
var next = effect.next;
393393

394394
if ((effect.f & ROOT_EFFECT) !== 0) {
395+
// this is now an independent root
395396
effect.parent = null;
396397
} else {
397398
destroy_effect(effect, remove_dom);
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
async test({ assert, target }) {
6+
let [, btn2] = target.querySelectorAll('button');
7+
8+
btn2.click();
9+
flushSync();
10+
11+
assert.htmlEqual(target.innerHTML, `<button>Set data</button><button>Clear data</button>`);
12+
}
13+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<script>
2+
import { toStore } from 'svelte/store'
3+
4+
let { data } = $props()
5+
const currentValue = toStore(() => data.value)
6+
</script>
7+
8+
<p>
9+
Current value:
10+
<span>{$currentValue}</span>
11+
</p>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<script>
2+
import Child from './child.svelte'
3+
4+
let data = $state({ value: 'hello' });
5+
6+
const setData = () => (data = { value: 'hello' })
7+
const clearData = () => (data = undefined)
8+
</script>
9+
10+
<button onclick={setData}>Set data</button>
11+
<button onclick={clearData}>Clear data</button>
12+
13+
{#if data}
14+
<Child {data} />
15+
{/if}

0 commit comments

Comments
 (0)