From 35931815fc536e6eafa7feed939c22c0969db59e Mon Sep 17 00:00:00 2001 From: Jikkai Xiao Date: Fri, 8 Jun 2018 15:59:24 +0800 Subject: [PATCH] Test: add more test cases (#11541) * Tabs: improve test case * Container: improve test case * Radio: improve test case --- test/unit/specs/container.spec.js | 22 ++++++++++++++++ test/unit/specs/radio.spec.js | 42 ++++++++++++++++++++++++++++++- test/unit/specs/tabs.spec.js | 38 +++++++++++++++++++++++++++- 3 files changed, 100 insertions(+), 2 deletions(-) diff --git a/test/unit/specs/container.spec.js b/test/unit/specs/container.spec.js index a9eb361c4..bd41b6f32 100644 --- a/test/unit/specs/container.spec.js +++ b/test/unit/specs/container.spec.js @@ -27,6 +27,28 @@ describe('Container', () => { }, true); expect(vm.$children[0].$el.classList.contains('is-vertical')).to.true; }); + + it('direction', done => { + vm = createVue({ + template: ` + + + + + `, + data() { + return { + direction: 'horizontal' + }; + } + }, true); + expect(vm.$children[0].$el.classList.contains('is-vertical')).not.to.true; + vm.direction = 'vertical'; + vm.$nextTick(() => { + expect(vm.$children[0].$el.classList.contains('is-vertical')).to.true; + done(); + }); + }); }); describe('Header', () => { diff --git a/test/unit/specs/radio.spec.js b/test/unit/specs/radio.spec.js index 6596b279e..5d8fa3751 100644 --- a/test/unit/specs/radio.spec.js +++ b/test/unit/specs/radio.spec.js @@ -1,4 +1,4 @@ -import { createVue, destroyVM } from '../util'; +import { createVue, destroyVM, triggerKeyDown } from '../util'; describe('Radio', () => { let vm; @@ -258,6 +258,46 @@ describe('Radio', () => { done(); }, 10); }); + it('keyboard event', done => { + vm = createVue({ + template: ` + + 备选项 + 备选项 + 备选项 + + `, + data() { + return { + radio: 6 + }; + } + }, true); + + expect(vm.radio).to.be.equal(6); + vm.$nextTick(() => { + triggerKeyDown(vm.$refs.radio2.$el, 37); + expect(vm.radio).to.be.equal(3); + + triggerKeyDown(vm.$refs.radio1.$el, 37); + expect(vm.radio).to.be.equal(9); + + vm.$nextTick(() => { + triggerKeyDown(vm.$refs.radio3.$el, 39); + expect(vm.radio).to.be.equal(3); + + triggerKeyDown(vm.$refs.radio1.$el, 39); + expect(vm.radio).to.be.equal(6); + + vm.$nextTick(() => { + triggerKeyDown(vm.$refs.radio1.$el, 13); + expect(vm.radio).to.be.equal(6); + + done(); + }); + }); + }); + }); describe('Radio Button', () => { it('create', done => { vm = createVue({ diff --git a/test/unit/specs/tabs.spec.js b/test/unit/specs/tabs.spec.js index a9ea20658..4f8ff64fc 100644 --- a/test/unit/specs/tabs.spec.js +++ b/test/unit/specs/tabs.spec.js @@ -1,4 +1,4 @@ -import { createVue, destroyVM } from '../util'; +import { createVue, destroyVM, triggerKeyDown } from '../util'; describe('Tabs', () => { let vm; @@ -570,4 +570,40 @@ describe('Tabs', () => { }); }, 100); }); + it('keyboard event', done => { + vm = createVue({ + template: ` + + A + B + C + D + + `, + data() { + return { + activeName: 'second' + }; + } + }, true); + + expect(vm.activeName).to.be.equal('second'); + vm.$nextTick(() => { + triggerKeyDown(vm.$el.querySelector('#tab-second'), 39); + expect(vm.activeName).to.be.equal('third'); + + triggerKeyDown(vm.$el.querySelector('#tab-third'), 39); + expect(vm.activeName).to.be.equal('fourth'); + + triggerKeyDown(vm.$el.querySelector('#tab-fourth'), 39); + expect(vm.activeName).to.be.equal('first'); + + triggerKeyDown(vm.$el.querySelector('#tab-first'), 37); + expect(vm.activeName).to.be.equal('fourth'); + + triggerKeyDown(vm.$el.querySelector('#tab-fourth'), 37); + expect(vm.activeName).to.be.equal('third'); + done(); + }); + }); });