diff --git a/test/unit/specs/switch.spec.js b/test/unit/specs/switch.spec.js index 36c9ad2ea..c2ec1f2bf 100644 --- a/test/unit/specs/switch.spec.js +++ b/test/unit/specs/switch.spec.js @@ -148,4 +148,31 @@ describe('Switch', () => { }, 10); }, 10); }); + + it('value is the single source of truth', done => { + vm = createVue({ + template: ` +
+ +
+ ` + }, true); + + const component = vm.$children[0]; + const input = vm.$el.querySelector('input'); + const core = vm.$el.querySelector('.el-switch__core'); + core.click(); + setTimeout(() => { + expect(component.checked).to.equal(true); + expect(component.$el.classList.contains('is-checked')).to.equal(true); + expect(input.checked).to.equal(true); + core.click(); + setTimeout(() => { + expect(component.checked).to.equal(true); + expect(component.$el.classList.contains('is-checked')).to.equal(true); + expect(input.checked).to.equal(true); + done(); + }, 10); + }, 10); + }); });