mirror of https://github.com/sveltejs/svelte
fix one-way <select> bind with spread (#6512)
parent
0d3e105915
commit
8c66acfa92
@ -0,0 +1,25 @@
|
||||
export default {
|
||||
async test({ assert, component, target, window }) {
|
||||
const select = target.querySelector('select');
|
||||
const [option1, option2] = select.childNodes;
|
||||
|
||||
let selections = Array.from(select.selectedOptions);
|
||||
assert.equal(selections.length, 1);
|
||||
assert.ok(!selections.includes(option1));
|
||||
assert.ok(selections.includes(option2));
|
||||
|
||||
component.value = 'Hello';
|
||||
|
||||
selections = Array.from(select.selectedOptions);
|
||||
assert.equal(selections.length, 1);
|
||||
assert.ok(selections.includes(option1));
|
||||
assert.ok(!selections.includes(option2));
|
||||
|
||||
component.spread = { value: 'World' };
|
||||
|
||||
selections = Array.from(select.selectedOptions);
|
||||
assert.equal(selections.length, 1);
|
||||
assert.ok(!selections.includes(option1));
|
||||
assert.ok(selections.includes(option2));
|
||||
}
|
||||
};
|
@ -0,0 +1,9 @@
|
||||
<script>
|
||||
export let value = 'World';
|
||||
export let spread = {};
|
||||
</script>
|
||||
|
||||
<select {value} {...spread}>
|
||||
<option>Hello</option>
|
||||
<option>World</option>
|
||||
</select>
|
Loading…
Reference in new issue