mirror of https://github.com/sveltejs/svelte
reactive dependency not referenced can't set to undefined initially (#5600)
parent
24c44b9177
commit
1cc5bdb9ca
@ -0,0 +1,26 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>42</p>
|
||||||
|
<p>42</p>
|
||||||
|
`,
|
||||||
|
|
||||||
|
async test({ assert, component, target }) {
|
||||||
|
await component.updateStore(undefined);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>undefined</p><p>42</p>');
|
||||||
|
|
||||||
|
await component.updateStore(33);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>33</p><p>42</p>');
|
||||||
|
|
||||||
|
await component.updateStore(undefined);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>undefined</p><p>42</p>');
|
||||||
|
|
||||||
|
await component.updateVar(undefined);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>undefined</p><p>undefined</p>');
|
||||||
|
|
||||||
|
await component.updateVar(33);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>undefined</p><p>33</p>');
|
||||||
|
|
||||||
|
await component.updateVar(undefined);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<p>undefined</p><p>undefined</p>');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,19 @@
|
|||||||
|
<script>
|
||||||
|
import { writable } from 'svelte/store';
|
||||||
|
let store = writable(42);
|
||||||
|
let variable = 42;
|
||||||
|
let value;
|
||||||
|
let value2;
|
||||||
|
$: value = $store;
|
||||||
|
$: value2 = variable;
|
||||||
|
|
||||||
|
export function updateStore(value) {
|
||||||
|
store.set(value);
|
||||||
|
}
|
||||||
|
export function updateVar(value) {
|
||||||
|
variable = value;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>{ value }</p>
|
||||||
|
<p>{ value2 }</p>
|
Loading…
Reference in new issue