Updated tests to trigger mousedown and mouseup events instead of click

pull/3532/head
Nicolaj Egelund 2017-03-12 18:48:52 +01:00 committed by 杨奕
parent ae32eb13aa
commit 9c13b0e8d5
4 changed files with 34 additions and 20 deletions

View File

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

View File

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

View File

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

View File

@ -83,3 +83,15 @@ exports.triggerEvent = function(elm, name, ...opts) {
return elm; 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;
};