Просмотр исходного кода

Test: add more test cases (#11541)

* Tabs: improve test case

* Container: improve test case

* Radio: improve test case
Jikkai Xiao 7 лет назад
Родитель
Сommit
35931815fc
3 измененных файлов с 100 добавлено и 2 удалено
  1. 22 0
      test/unit/specs/container.spec.js
  2. 41 1
      test/unit/specs/radio.spec.js
  3. 37 1
      test/unit/specs/tabs.spec.js

+ 22 - 0
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: `
+        <el-container :direction="direction">
+          <el-header></el-header>
+          <el-main></el-main>
+        </el-container>
+      `,
+      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', () => {

+ 41 - 1
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: `
+          <el-radio-group v-model="radio">
+            <el-radio-button ref="radio1" :label="3">备选项</el-radio-button>
+            <el-radio-button ref="radio2" :label="6">备选项</el-radio-button>
+            <el-radio-button ref="radio3" :label="9">备选项</el-radio-button>
+          </el-radio-group>
+        `,
+        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({

+ 37 - 1
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: `
+        <el-tabs v-model="activeName">
+          <el-tab-pane label="用户管理" name="first">A</el-tab-pane>
+          <el-tab-pane label="配置管理" name="second">B</el-tab-pane>
+          <el-tab-pane label="角色管理" name="third">C</el-tab-pane>
+          <el-tab-pane label="定时任务补偿" name="fourth">D</el-tab-pane>
+        </el-tabs>
+      `,
+      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();
+    });
+  });
 });