mirror of https://github.com/sveltejs/svelte
fix invalidation in ++foo.bar (#4395)
parent
59a5d4a52c
commit
0625fc218b
@ -0,0 +1,31 @@
|
||||
export default {
|
||||
html: `
|
||||
<p>0</p>
|
||||
<button>foo++</button>
|
||||
<button>++foo</button>
|
||||
<p>0</p>
|
||||
<button>bar.bar++</button>
|
||||
<button>++bar.bar</button>
|
||||
`,
|
||||
async test({ assert, target, window }) {
|
||||
const [foo, bar] = target.querySelectorAll('p');
|
||||
const [button1, button2, button3, button4] = target.querySelectorAll('button');
|
||||
const event = new window.MouseEvent('click');
|
||||
|
||||
await button1.dispatchEvent(event);
|
||||
assert.equal(foo.innerHTML, '1');
|
||||
assert.equal(bar.innerHTML, '0');
|
||||
|
||||
await button2.dispatchEvent(event);
|
||||
assert.equal(foo.innerHTML, '2');
|
||||
assert.equal(bar.innerHTML, '0');
|
||||
|
||||
await button3.dispatchEvent(event);
|
||||
assert.equal(foo.innerHTML, '2');
|
||||
assert.equal(bar.innerHTML, '1');
|
||||
|
||||
await button4.dispatchEvent(event);
|
||||
assert.equal(foo.innerHTML, '2');
|
||||
assert.equal(bar.innerHTML, '2');
|
||||
}
|
||||
};
|
@ -0,0 +1,14 @@
|
||||
<script>
|
||||
let foo = 0;
|
||||
let bar = { bar: 0 };
|
||||
</script>
|
||||
|
||||
<p>{foo}</p>
|
||||
|
||||
<button on:click={() => foo++}>foo++</button>
|
||||
<button on:click={() => ++foo}>++foo</button>
|
||||
|
||||
<p>{bar.bar}</p>
|
||||
|
||||
<button on:click={() => bar.bar++}>bar.bar++</button>
|
||||
<button on:click={() => ++bar.bar}>++bar.bar</button>
|
Loading…
Reference in new issue