Test: add destroy

pull/641/head
Leopoldthecoder 2016-10-25 18:29:57 +08:00 committed by cinwell.li
parent 2f0ba607f4
commit 2889d46034
6 changed files with 64 additions and 48 deletions

View File

@ -1,9 +1,14 @@
import { createTest, createVue } from '../util';
import { createTest, createVue, destroyVM } from '../util';
import Alert from 'packages/alert';
describe('Alert', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Alert, {
vm = createTest(Alert, {
title: 'test',
showIcon: true
}, true);
@ -12,7 +17,7 @@ describe('Alert', () => {
});
it('type', () => {
const vm = createTest(Alert, {
vm = createTest(Alert, {
title: 'test',
type: 'success',
showIcon: true
@ -22,7 +27,7 @@ describe('Alert', () => {
});
it('description', () => {
const vm = createTest(Alert, {
vm = createTest(Alert, {
title: 'Dorne',
description: 'Unbowed, Unbent, Unbroken',
showIcon: true
@ -32,7 +37,7 @@ describe('Alert', () => {
});
it('close', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-alert

View File

@ -1,16 +1,21 @@
import { createTest, createVue } from '../util';
import { createTest, createVue, destroyVM } from '../util';
import Rate from 'packages/rate';
import Vue from 'vue';
describe('Rate', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Rate, { max: 10 }, true);
vm = createTest(Rate, { max: 10 }, true);
const stars = vm.$el.querySelectorAll('.el-rate__item');
expect(stars.length).to.equal(10);
});
it('with texts', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate
@ -31,7 +36,7 @@ describe('Rate', () => {
});
it('value change', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate v-model="value"></el-rate>
@ -54,7 +59,7 @@ describe('Rate', () => {
});
it('click', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate v-model="value"></el-rate>
@ -73,7 +78,7 @@ describe('Rate', () => {
});
it('colors', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate v-model="value" :colors="['#99A9BF', '#F7BA2A', '#FF9900']"></el-rate>
@ -91,7 +96,7 @@ describe('Rate', () => {
});
it('threshold', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate v-model="value" :low-threshold="3"></el-rate>
@ -146,7 +151,7 @@ describe('Rate', () => {
});
it('allow half', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-rate v-model="value" allow-half></el-rate>

View File

@ -1,4 +1,4 @@
import { createTest, createVue, triggerEvent } from '../util';
import { createTest, createVue, triggerEvent, destroyVM } from '../util';
import Select from 'packages/select';
describe('Select', () => {
@ -68,16 +68,13 @@ describe('Select', () => {
return vm;
};
let vm;
afterEach(() => {
const el = document.querySelector('.el-select');
if (!el) return;
if (el.parentNode) {
el.parentNode.removeChild(el);
}
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Select, true);
vm = createTest(Select, true);
expect(vm.$el.className).to.equal('el-select');
expect(vm.$el.querySelector('.el-input__inner').placeholder).to.equal('请选择');
vm.toggleMenu();
@ -85,7 +82,7 @@ describe('Select', () => {
});
it('options rendered correctly', () => {
const vm = getSelectVm();
vm = getSelectVm();
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
const result = [].every.call(options, (option, index) => {
let text = option.querySelector('span').textContent;
@ -95,7 +92,7 @@ describe('Select', () => {
});
it('default value', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-select v-model="value">
@ -129,7 +126,7 @@ describe('Select', () => {
it('single select', done => {
sinon.stub(window.console, 'log');
const vm = createVue({
vm = createVue({
template: `
<div>
<el-select v-model="value" @change="handleChange">
@ -189,7 +186,7 @@ describe('Select', () => {
});
it('disabled option', done => {
const vm = getSelectVm();
vm = getSelectVm();
vm.options[1].disabled = true;
setTimeout(() => {
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
@ -203,12 +200,12 @@ describe('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;
});
it('keyboard operations', done => {
const vm = getSelectVm();
vm = getSelectVm();
const select = vm.$children[0];
let i = 8;
while (i--) {
@ -226,7 +223,7 @@ describe('Select', () => {
});
it('clearable', done => {
const vm = getSelectVm({ clearable: true });
vm = getSelectVm({ clearable: true });
const select = vm.$children[0];
vm.value = '选项1';
select.inputHovering = true;
@ -240,7 +237,7 @@ describe('Select', () => {
});
it('custom el-option template', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-select v-model="value">
@ -268,7 +265,7 @@ describe('Select', () => {
});
it('option group', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-select v-model="value">
@ -326,7 +323,7 @@ describe('Select', () => {
});
it('filterable', done => {
const vm = getSelectVm({ filterable: true });
vm = getSelectVm({ filterable: true });
const select = vm.$children[0];
select.selectedLabel = '面';
select.onInputChange();
@ -343,7 +340,7 @@ describe('Select', () => {
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];
select.query = '面';
setTimeout(() => {
@ -353,7 +350,7 @@ describe('Select', () => {
});
it('multiple select', done => {
const vm = getSelectVm({ multiple: true });
vm = getSelectVm({ multiple: true });
const options = vm.$el.querySelectorAll('.el-select-dropdown__item');
vm.value = ['选项1'];
setTimeout(() => {
@ -383,7 +380,7 @@ describe('Select', () => {
}, 200);
};
};
const vm = getSelectVm({
vm = getSelectVm({
multiple: true,
remote: true,
filterable: true,

View File

@ -1,14 +1,19 @@
import { createTest, createVue, triggerEvent } from '../util';
import { createTest, createVue, triggerEvent, destroyVM } from '../util';
import Slider from 'packages/slider';
describe('Slider', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Slider);
vm = createTest(Slider);
expect(vm.value).to.equal(0);
});
it('should not exceed min and max', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value" :min="50">
@ -36,7 +41,7 @@ describe('Slider', () => {
});
it('show tooltip', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value">
@ -58,7 +63,7 @@ describe('Slider', () => {
});
it('drag', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value"></el-slider>
@ -82,7 +87,7 @@ describe('Slider', () => {
});
it('click', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value"></el-slider>
@ -106,7 +111,7 @@ describe('Slider', () => {
});
it('disabled', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value" disabled></el-slider>
@ -131,7 +136,7 @@ describe('Slider', () => {
});
it('show input', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-slider v-model="value" show-input></el-slider>
@ -156,7 +161,7 @@ describe('Slider', () => {
});
it('show stops', done => {
const vm = createTest(Slider, {
vm = createTest(Slider, {
showStops: true,
step: 10
}, true);

View File

@ -1,10 +1,15 @@
import { createTest, createVue } from '../util';
import { createTest, createVue, destroyVM } from '../util';
import Switch from 'packages/switch';
import Vue from 'vue';
describe('Switch', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Switch, {
vm = createTest(Switch, {
onText: 'on',
offText: 'off',
onColor: '#0f0',
@ -19,7 +24,7 @@ describe('Switch', () => {
});
it('switch with icons', () => {
const vm = createTest(Switch, {
vm = createTest(Switch, {
onIconClass: 'el-icon-check',
offIconClass: 'el-icon-close'
});
@ -29,7 +34,7 @@ describe('Switch', () => {
});
it('value correctly update', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-switch v-model="value"></el-switch>
@ -57,7 +62,7 @@ describe('Switch', () => {
});
it('disabled switch should not respond to user click', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-switch disabled v-model="value"></el-switch>

View File

@ -22,7 +22,6 @@ exports.destroyVM = function(vm) {
vm.$el &&
vm.$el.parentNode &&
vm.$el.parentNode.removeChild(vm.$el);
vm.$destroy && vm.$destroy();
};
/**