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);
+ });
});