mirror of https://github.com/sveltejs/svelte
parent
255693e78f
commit
268ac95fde
@ -0,0 +1,5 @@
|
||||
---
|
||||
"svelte": patch
|
||||
---
|
||||
|
||||
fix: properly analyze group expressions
|
@ -0,0 +1,23 @@
|
||||
import { test } from '../../test';
|
||||
|
||||
export default test({
|
||||
async test({ assert, target }) {
|
||||
const checkboxes = /** @type {NodeListOf<HTMLInputElement>} */ (
|
||||
target.querySelectorAll('input[type="checkbox"]')
|
||||
);
|
||||
|
||||
assert.isFalse(checkboxes[0].checked);
|
||||
assert.isTrue(checkboxes[1].checked);
|
||||
assert.isFalse(checkboxes[2].checked);
|
||||
|
||||
await checkboxes[1].click();
|
||||
|
||||
const noChecked = target.querySelector('#output')?.innerHTML;
|
||||
assert.equal(noChecked, '');
|
||||
|
||||
await checkboxes[1].click();
|
||||
|
||||
const oneChecked = target.querySelector('#output')?.innerHTML;
|
||||
assert.equal(oneChecked, 'Mint choc chip');
|
||||
}
|
||||
});
|
@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import { writable } from 'svelte/store';
|
||||
let menu = ['Cookies and cream', 'Mint choc chip', 'Raspberry ripple'];
|
||||
let order = writable({flavours: ['Mint choc chip'], scoops: 1 });
|
||||
</script>
|
||||
|
||||
<form method="POST">
|
||||
<input type="radio" bind:group={$order.scoops} name="scoops" value={1} /> One scoop
|
||||
<input type="radio" bind:group={$order.scoops} name="scoops" value={2} /> Two scoops
|
||||
<input type="radio" bind:group={$order.scoops} name="scoops" value={3} /> Three scoops
|
||||
|
||||
{#each menu as flavour}
|
||||
<input type="checkbox" bind:group={$order.flavours} name="flavours" value={flavour} /> {flavour}
|
||||
{/each}
|
||||
</form>
|
||||
|
||||
<div id="output">{$order.flavours.join('+')}</div>
|
Loading…
Reference in new issue