mirror of https://github.com/ElemeFE/element
Test: add destroy
parent
2f0ba607f4
commit
2889d46034
|
@ -1,9 +1,14 @@
|
||||||
import { createTest, createVue } from '../util';
|
import { createTest, createVue, destroyVM } from '../util';
|
||||||
import Alert from 'packages/alert';
|
import Alert from 'packages/alert';
|
||||||
|
|
||||||
describe('Alert', () => {
|
describe('Alert', () => {
|
||||||
|
let vm;
|
||||||
|
afterEach(() => {
|
||||||
|
destroyVM(vm);
|
||||||
|
});
|
||||||
|
|
||||||
it('create', () => {
|
it('create', () => {
|
||||||
const vm = createTest(Alert, {
|
vm = createTest(Alert, {
|
||||||
title: 'test',
|
title: 'test',
|
||||||
showIcon: true
|
showIcon: true
|
||||||
}, true);
|
}, true);
|
||||||
|
@ -12,7 +17,7 @@ describe('Alert', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('type', () => {
|
it('type', () => {
|
||||||
const vm = createTest(Alert, {
|
vm = createTest(Alert, {
|
||||||
title: 'test',
|
title: 'test',
|
||||||
type: 'success',
|
type: 'success',
|
||||||
showIcon: true
|
showIcon: true
|
||||||
|
@ -22,7 +27,7 @@ describe('Alert', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('description', () => {
|
it('description', () => {
|
||||||
const vm = createTest(Alert, {
|
vm = createTest(Alert, {
|
||||||
title: 'Dorne',
|
title: 'Dorne',
|
||||||
description: 'Unbowed, Unbent, Unbroken',
|
description: 'Unbowed, Unbent, Unbroken',
|
||||||
showIcon: true
|
showIcon: true
|
||||||
|
@ -32,7 +37,7 @@ describe('Alert', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('close', () => {
|
it('close', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-alert
|
<el-alert
|
||||||
|
|
|
@ -1,16 +1,21 @@
|
||||||
import { createTest, createVue } from '../util';
|
import { createTest, createVue, destroyVM } from '../util';
|
||||||
import Rate from 'packages/rate';
|
import Rate from 'packages/rate';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
describe('Rate', () => {
|
describe('Rate', () => {
|
||||||
|
let vm;
|
||||||
|
afterEach(() => {
|
||||||
|
destroyVM(vm);
|
||||||
|
});
|
||||||
|
|
||||||
it('create', () => {
|
it('create', () => {
|
||||||
const vm = createTest(Rate, { max: 10 }, true);
|
vm = createTest(Rate, { max: 10 }, true);
|
||||||
const stars = vm.$el.querySelectorAll('.el-rate__item');
|
const stars = vm.$el.querySelectorAll('.el-rate__item');
|
||||||
expect(stars.length).to.equal(10);
|
expect(stars.length).to.equal(10);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('with texts', () => {
|
it('with texts', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate
|
<el-rate
|
||||||
|
@ -31,7 +36,7 @@ describe('Rate', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('value change', done => {
|
it('value change', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate v-model="value"></el-rate>
|
<el-rate v-model="value"></el-rate>
|
||||||
|
@ -54,7 +59,7 @@ describe('Rate', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('click', () => {
|
it('click', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate v-model="value"></el-rate>
|
<el-rate v-model="value"></el-rate>
|
||||||
|
@ -73,7 +78,7 @@ describe('Rate', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('colors', () => {
|
it('colors', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate v-model="value" :colors="['#99A9BF', '#F7BA2A', '#FF9900']"></el-rate>
|
<el-rate v-model="value" :colors="['#99A9BF', '#F7BA2A', '#FF9900']"></el-rate>
|
||||||
|
@ -91,7 +96,7 @@ describe('Rate', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('threshold', () => {
|
it('threshold', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate v-model="value" :low-threshold="3"></el-rate>
|
<el-rate v-model="value" :low-threshold="3"></el-rate>
|
||||||
|
@ -146,7 +151,7 @@ describe('Rate', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('allow half', () => {
|
it('allow half', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-rate v-model="value" allow-half></el-rate>
|
<el-rate v-model="value" allow-half></el-rate>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { createTest, createVue, triggerEvent } from '../util';
|
import { createTest, createVue, triggerEvent, destroyVM } from '../util';
|
||||||
import Select from 'packages/select';
|
import Select from 'packages/select';
|
||||||
|
|
||||||
describe('Select', () => {
|
describe('Select', () => {
|
||||||
|
@ -68,16 +68,13 @@ describe('Select', () => {
|
||||||
return vm;
|
return vm;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let vm;
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
const el = document.querySelector('.el-select');
|
destroyVM(vm);
|
||||||
if (!el) return;
|
|
||||||
if (el.parentNode) {
|
|
||||||
el.parentNode.removeChild(el);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('create', () => {
|
it('create', () => {
|
||||||
const vm = createTest(Select, true);
|
vm = createTest(Select, true);
|
||||||
expect(vm.$el.className).to.equal('el-select');
|
expect(vm.$el.className).to.equal('el-select');
|
||||||
expect(vm.$el.querySelector('.el-input__inner').placeholder).to.equal('请选择');
|
expect(vm.$el.querySelector('.el-input__inner').placeholder).to.equal('请选择');
|
||||||
vm.toggleMenu();
|
vm.toggleMenu();
|
||||||
|
@ -85,7 +82,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('options rendered correctly', () => {
|
it('options rendered correctly', () => {
|
||||||
const vm = getSelectVm();
|
vm = getSelectVm();
|
||||||
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
||||||
const result = [].every.call(options, (option, index) => {
|
const result = [].every.call(options, (option, index) => {
|
||||||
let text = option.querySelector('span').textContent;
|
let text = option.querySelector('span').textContent;
|
||||||
|
@ -95,7 +92,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('default value', done => {
|
it('default value', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-select v-model="value">
|
<el-select v-model="value">
|
||||||
|
@ -129,7 +126,7 @@ describe('Select', () => {
|
||||||
|
|
||||||
it('single select', done => {
|
it('single select', done => {
|
||||||
sinon.stub(window.console, 'log');
|
sinon.stub(window.console, 'log');
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-select v-model="value" @change="handleChange">
|
<el-select v-model="value" @change="handleChange">
|
||||||
|
@ -189,7 +186,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('disabled option', done => {
|
it('disabled option', done => {
|
||||||
const vm = getSelectVm();
|
vm = getSelectVm();
|
||||||
vm.options[1].disabled = true;
|
vm.options[1].disabled = true;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
||||||
|
@ -203,12 +200,12 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('disabled select', () => {
|
it('disabled select', () => {
|
||||||
const vm = createTest(Select, { disabled: true }, true);
|
vm = createTest(Select, { disabled: true }, true);
|
||||||
expect(vm.$el.querySelector('.el-input').classList.contains('is-disabled')).to.true;
|
expect(vm.$el.querySelector('.el-input').classList.contains('is-disabled')).to.true;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('keyboard operations', done => {
|
it('keyboard operations', done => {
|
||||||
const vm = getSelectVm();
|
vm = getSelectVm();
|
||||||
const select = vm.$children[0];
|
const select = vm.$children[0];
|
||||||
let i = 8;
|
let i = 8;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
|
@ -226,7 +223,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('clearable', done => {
|
it('clearable', done => {
|
||||||
const vm = getSelectVm({ clearable: true });
|
vm = getSelectVm({ clearable: true });
|
||||||
const select = vm.$children[0];
|
const select = vm.$children[0];
|
||||||
vm.value = '选项1';
|
vm.value = '选项1';
|
||||||
select.inputHovering = true;
|
select.inputHovering = true;
|
||||||
|
@ -240,7 +237,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('custom el-option template', () => {
|
it('custom el-option template', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-select v-model="value">
|
<el-select v-model="value">
|
||||||
|
@ -268,7 +265,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('option group', () => {
|
it('option group', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-select v-model="value">
|
<el-select v-model="value">
|
||||||
|
@ -326,7 +323,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('filterable', done => {
|
it('filterable', done => {
|
||||||
const vm = getSelectVm({ filterable: true });
|
vm = getSelectVm({ filterable: true });
|
||||||
const select = vm.$children[0];
|
const select = vm.$children[0];
|
||||||
select.selectedLabel = '面';
|
select.selectedLabel = '面';
|
||||||
select.onInputChange();
|
select.onInputChange();
|
||||||
|
@ -343,7 +340,7 @@ describe('Select', () => {
|
||||||
vm.options = vm.options.filter(option => option.label.indexOf(query) === -1);
|
vm.options = vm.options.filter(option => option.label.indexOf(query) === -1);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
const vm = getSelectVm({ filterable: true, filterMethod });
|
vm = getSelectVm({ filterable: true, filterMethod });
|
||||||
const select = vm.$children[0];
|
const select = vm.$children[0];
|
||||||
select.query = '面';
|
select.query = '面';
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -353,7 +350,7 @@ describe('Select', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('multiple select', done => {
|
it('multiple select', done => {
|
||||||
const vm = getSelectVm({ multiple: true });
|
vm = getSelectVm({ multiple: true });
|
||||||
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
|
||||||
vm.value = ['选项1'];
|
vm.value = ['选项1'];
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -383,7 +380,7 @@ describe('Select', () => {
|
||||||
}, 200);
|
}, 200);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
const vm = getSelectVm({
|
vm = getSelectVm({
|
||||||
multiple: true,
|
multiple: true,
|
||||||
remote: true,
|
remote: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
|
|
@ -1,14 +1,19 @@
|
||||||
import { createTest, createVue, triggerEvent } from '../util';
|
import { createTest, createVue, triggerEvent, destroyVM } from '../util';
|
||||||
import Slider from 'packages/slider';
|
import Slider from 'packages/slider';
|
||||||
|
|
||||||
describe('Slider', () => {
|
describe('Slider', () => {
|
||||||
|
let vm;
|
||||||
|
afterEach(() => {
|
||||||
|
destroyVM(vm);
|
||||||
|
});
|
||||||
|
|
||||||
it('create', () => {
|
it('create', () => {
|
||||||
const vm = createTest(Slider);
|
vm = createTest(Slider);
|
||||||
expect(vm.value).to.equal(0);
|
expect(vm.value).to.equal(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not exceed min and max', done => {
|
it('should not exceed min and max', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value" :min="50">
|
<el-slider v-model="value" :min="50">
|
||||||
|
@ -36,7 +41,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('show tooltip', () => {
|
it('show tooltip', () => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value">
|
<el-slider v-model="value">
|
||||||
|
@ -58,7 +63,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('drag', done => {
|
it('drag', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value"></el-slider>
|
<el-slider v-model="value"></el-slider>
|
||||||
|
@ -82,7 +87,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('click', done => {
|
it('click', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value"></el-slider>
|
<el-slider v-model="value"></el-slider>
|
||||||
|
@ -106,7 +111,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('disabled', done => {
|
it('disabled', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value" disabled></el-slider>
|
<el-slider v-model="value" disabled></el-slider>
|
||||||
|
@ -131,7 +136,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('show input', done => {
|
it('show input', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-slider v-model="value" show-input></el-slider>
|
<el-slider v-model="value" show-input></el-slider>
|
||||||
|
@ -156,7 +161,7 @@ describe('Slider', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('show stops', done => {
|
it('show stops', done => {
|
||||||
const vm = createTest(Slider, {
|
vm = createTest(Slider, {
|
||||||
showStops: true,
|
showStops: true,
|
||||||
step: 10
|
step: 10
|
||||||
}, true);
|
}, true);
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
import { createTest, createVue } from '../util';
|
import { createTest, createVue, destroyVM } from '../util';
|
||||||
import Switch from 'packages/switch';
|
import Switch from 'packages/switch';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
describe('Switch', () => {
|
describe('Switch', () => {
|
||||||
|
let vm;
|
||||||
|
afterEach(() => {
|
||||||
|
destroyVM(vm);
|
||||||
|
});
|
||||||
|
|
||||||
it('create', () => {
|
it('create', () => {
|
||||||
const vm = createTest(Switch, {
|
vm = createTest(Switch, {
|
||||||
onText: 'on',
|
onText: 'on',
|
||||||
offText: 'off',
|
offText: 'off',
|
||||||
onColor: '#0f0',
|
onColor: '#0f0',
|
||||||
|
@ -19,7 +24,7 @@ describe('Switch', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('switch with icons', () => {
|
it('switch with icons', () => {
|
||||||
const vm = createTest(Switch, {
|
vm = createTest(Switch, {
|
||||||
onIconClass: 'el-icon-check',
|
onIconClass: 'el-icon-check',
|
||||||
offIconClass: 'el-icon-close'
|
offIconClass: 'el-icon-close'
|
||||||
});
|
});
|
||||||
|
@ -29,7 +34,7 @@ describe('Switch', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('value correctly update', done => {
|
it('value correctly update', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-switch v-model="value"></el-switch>
|
<el-switch v-model="value"></el-switch>
|
||||||
|
@ -57,7 +62,7 @@ describe('Switch', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('disabled switch should not respond to user click', done => {
|
it('disabled switch should not respond to user click', done => {
|
||||||
const vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<el-switch disabled v-model="value"></el-switch>
|
<el-switch disabled v-model="value"></el-switch>
|
||||||
|
|
|
@ -22,7 +22,6 @@ exports.destroyVM = function(vm) {
|
||||||
vm.$el &&
|
vm.$el &&
|
||||||
vm.$el.parentNode &&
|
vm.$el.parentNode &&
|
||||||
vm.$el.parentNode.removeChild(vm.$el);
|
vm.$el.parentNode.removeChild(vm.$el);
|
||||||
vm.$destroy && vm.$destroy();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue