Преглед на файлове

Updated tests to trigger mousedown and mouseup events instead of click

Nicolaj Egelund преди 8 години
родител
ревизия
9c13b0e8d5
променени са 4 файла, в които са добавени 34 реда и са изтрити 20 реда
  1. 2 2
      test/unit/specs/autocomplete.spec.js
  2. 10 10
      test/unit/specs/input-number.spec.js
  3. 10 8
      test/unit/specs/util.clickoutside.spec.js
  4. 12 0
      test/unit/util.js

+ 2 - 2
test/unit/specs/autocomplete.spec.js

@@ -1,4 +1,4 @@
-import { createVue, destroyVM } from '../util';
+import { createVue, triggerClick, destroyVM } from '../util';
 
 describe('Autocomplete', () => {
   let vm;
@@ -59,7 +59,7 @@ describe('Autocomplete', () => {
       expect(suggestions.style.display).to.not.equal('none');
       expect(suggestions.querySelectorAll('.el-autocomplete-suggestion__list li').length).to.be.equal(4);
 
-      document.body.click();
+      triggerClick(document);
       setTimeout(_ => {
         expect(suggestions.style.display).to.be.equal('none');
         done();

+ 10 - 10
test/unit/specs/input-number.spec.js

@@ -1,4 +1,4 @@
-import { createVue, triggerEvent, destroyVM } from '../util';
+import { createVue, triggerEvent, triggerClick, destroyVM } from '../util';
 
 describe('InputNumber', () => {
   let vm;
@@ -39,7 +39,7 @@ describe('InputNumber', () => {
     let btnDecrease = vm.$el.querySelector('.el-input-number__decrease');
 
     triggerEvent(btnDecrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(4);
@@ -64,7 +64,7 @@ describe('InputNumber', () => {
     let btnIncrease = vm.$el.querySelector('.el-input-number__increase');
 
     triggerEvent(btnIncrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(2.5);
@@ -90,14 +90,14 @@ describe('InputNumber', () => {
     let btnIncrease = vm.$el.querySelector('.el-input-number__increase');
 
     triggerEvent(btnDecrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(2);
       expect(input.value).to.be.equal('2');
 
       triggerEvent(btnIncrease, 'mousedown');
-      triggerEvent(document, 'mouseup');
+      triggerClick(document, 'mouseup');
 
       vm.$nextTick(_ => {
         expect(vm.value).to.be.equal(2);
@@ -124,14 +124,14 @@ describe('InputNumber', () => {
     let btnDecrease = vm.$el.querySelector('.el-input-number__decrease');
 
     triggerEvent(btnIncrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(8.2);
       expect(input.value).to.be.equal('8.2');
 
       triggerEvent(btnDecrease, 'mousedown');
-      triggerEvent(document, 'mouseup');
+      triggerClick(document, 'mouseup');
 
       vm.$nextTick(_ => {
         expect(vm.value).to.be.equal(5);
@@ -171,7 +171,7 @@ describe('InputNumber', () => {
     let btnDecrease = vm.$el.querySelector('.el-input-number__decrease');
 
     triggerEvent(btnDecrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(6);
@@ -210,7 +210,7 @@ describe('InputNumber', () => {
     let btnIncrease = vm.$el.querySelector('.el-input-number__increase');
 
     triggerEvent(btnIncrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(vm.value).to.be.equal(8);
@@ -282,7 +282,7 @@ describe('InputNumber', () => {
     vm.$refs.input.$on('change', spy);
 
     triggerEvent(btnIncrease, 'mousedown');
-    triggerEvent(document, 'mouseup');
+    triggerClick(document, 'mouseup');
 
     vm.$nextTick(_ => {
       expect(spy.withArgs(2.5, 1.5).calledOnce).to.be.true;

+ 10 - 8
test/unit/specs/util.clickoutside.spec.js

@@ -1,6 +1,8 @@
 import Clickoutside from 'element-ui/src/utils/clickoutside';
 const ctx = '@@clickoutsideContext';
 
+import { triggerClick } from '../util';
+
 describe('Utils:Clickoutside', () => {
   it('create', () => {
     let count = 0;
@@ -42,7 +44,7 @@ describe('Utils:Clickoutside', () => {
     };
 
     Clickoutside.bind(el, binding, vnode);
-    document.body.click();
+    triggerClick(document);
     expect(count).to.equal(1);
   });
 
@@ -61,9 +63,9 @@ describe('Utils:Clickoutside', () => {
 
     el.appendChild(insideElm);
     Clickoutside.bind(el, binding, vnode);
-    insideElm.click();
+    triggerClick(insideElm);
     expect(count).to.equal(0);
-    document.body.click();
+    triggerClick(document);
     expect(count).to.equal(1);
   });
 
@@ -83,9 +85,9 @@ describe('Utils:Clickoutside', () => {
 
     vnode.context.popperElm.appendChild(insideElm);
     Clickoutside.bind(el, binding, vnode);
-    insideElm.click();
+    triggerClick(insideElm);
     expect(count).to.equal(0);
-    document.body.click();
+    triggerClick(document);
     expect(count).to.equal(1);
   });
 
@@ -101,7 +103,7 @@ describe('Utils:Clickoutside', () => {
 
     Clickoutside.bind(el, binding, vnode);
     expect(count).to.equal(0);
-    document.body.click();
+    triggerClick(document);
     expect(count).to.equal(1);
   });
 
@@ -139,9 +141,9 @@ describe('Utils:Clickoutside', () => {
     };
 
     Clickoutside.bind(el, binding, vnode);
-    document.body.click();
+    triggerClick(document);
     Clickoutside.unbind(el);
-    document.body.click();
+    triggerClick(document);
     expect(count).to.equal(1);
   });
 });

+ 12 - 0
test/unit/util.js

@@ -83,3 +83,15 @@ exports.triggerEvent = function(elm, name, ...opts) {
 
   return elm;
 };
+
+/**
+ * 触发 “mouseup” 和 “mousedown” 事件
+ * @param {Element} elm
+ * @param {*} opts
+ */
+exports.triggerClick = function(elm, ...opts) {
+  exports.triggerEvent(elm, 'mousedown', ...opts);
+  exports.triggerEvent(elm, 'mouseup', ...opts);
+
+  return elm;
+};