export default { async test({ assert, component, target, window }) { const [input1, input2] = target.querySelectorAll('input'); const select = target.querySelector('select'); const [option1, option2] = select.childNodes; let selections = Array.from(select.selectedOptions); assert.equal(selections.length, 2); assert.ok(selections.includes(option1)); assert.ok(selections.includes(option2)); const event = new window.Event('change'); input1.checked = false; await input1.dispatchEvent(event); selections = Array.from(select.selectedOptions); assert.equal(selections.length, 1); assert.ok(!selections.includes(option1)); assert.ok(selections.includes(option2)); input2.checked = false; await input2.dispatchEvent(event); input1.checked = true; await input1.dispatchEvent(event); selections = Array.from(select.selectedOptions); assert.equal(selections.length, 1); assert.ok(selections.includes(option1)); assert.ok(!selections.includes(option2)); component.spread = { value: ['Hello', 'World'] }; selections = Array.from(select.selectedOptions); assert.equal(selections.length, 2); assert.ok(selections.includes(option1)); assert.ok(selections.includes(option2)); } };