unit test vm destroy improve (#791)

pull/802/merge
baiyaaaaa 2016-11-03 10:14:36 +08:00 committed by cinwell.li
parent 434bc360f0
commit 22ba941fa0
25 changed files with 305 additions and 195 deletions

View File

@ -1,8 +1,12 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Autocomplete', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-autocomplete
v-model="state"
@ -58,7 +62,7 @@ describe('Autocomplete', () => {
}, 500);
});
it('select', done => {
const vm = createVue({
vm = createVue({
template: `
<el-autocomplete
v-model="state"
@ -118,7 +122,7 @@ describe('Autocomplete', () => {
}, 500);
});
it('highlight', done => {
const vm = createVue({
vm = createVue({
template: `
<el-autocomplete
ref="autocomplete"
@ -198,7 +202,7 @@ describe('Autocomplete', () => {
}, 500);
});
it('highlight out of bounds', done => {
const vm = createVue({
vm = createVue({
template: `
<el-autocomplete
ref="autocomplete"

View File

@ -1,13 +1,19 @@
import { createTest, createVue } from '../util';
import { createTest, createVue, destroyVM } from '../util';
import Badge from 'packages/badge';
describe('Badge', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('value', () => {
expect(createTest(Badge, { value: 80 }).content).to.equal(80);
vm = createTest(Badge, { value: 80 });
expect(vm.content).to.equal(80);
});
it('is fixed', () => {
const vm = createVue(`
vm = createVue(`
<el-badge>
<button>click</button>
</el-badge>
@ -17,7 +23,7 @@ describe('Badge', () => {
});
it('is dot', () => {
const vm = createVue(`
vm = createVue(`
<el-badge is-dot>
<button>click</button>
</el-badge>
@ -27,7 +33,9 @@ describe('Badge', () => {
});
it('max', () => {
expect(createTest(Badge, { max: 100, value: 200 }).content).to.equal('100+');
expect(createTest(Badge, { max: 100, value: 80 }).content).to.equal(80);
vm = createTest(Badge, { max: 100, value: 200 });
expect(vm.content).to.equal('100+');
vm = createTest(Badge, { max: 100, value: 80 });
expect(vm.content).to.equal(80);
});
});

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Breadcrumb', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue(`
vm = createVue(`
<el-breadcrumb separator=">">
<el-breadcrumb-item to="/">首页</el-breadcrumb-item>
<el-breadcrumb-item>活动管理</el-breadcrumb-item>

View File

@ -2,66 +2,64 @@ import { createTest, createVue, destroyVM } from '../util';
import Button from 'packages/button';
describe('Button', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
type: 'primary'
}, true);
let buttonElm = vm.$el;
expect(buttonElm.classList.contains('el-button--primary')).to.be.true;
destroyVM(vm);
});
it('icon', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
icon: 'search'
}, true);
let buttonElm = vm.$el;
expect(buttonElm.querySelector('.el-icon-search')).to.be.ok;
destroyVM(vm);
});
it('nativeType', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
nativeType: 'submit'
}, true);
let buttonElm = vm.$el;
expect(buttonElm.getAttribute('type')).to.be.equal('submit');
destroyVM(vm);
});
it('loading', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
loading: true
}, true);
let buttonElm = vm.$el;
expect(buttonElm.classList.contains('is-loading')).to.be.true;
expect(buttonElm.querySelector('.el-icon-loading')).to.be.ok;
destroyVM(vm);
});
it('disabled', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
disabled: true
}, true);
let buttonElm = vm.$el;
expect(buttonElm.classList.contains('is-disabled')).to.be.true;
destroyVM(vm);
});
it('size', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
size: 'large'
}, true);
let buttonElm = vm.$el;
expect(buttonElm.classList.contains('el-button--large')).to.be.true;
destroyVM(vm);
});
it('plain', () => {
const vm = createTest(Button, {
vm = createTest(Button, {
plain: true
}, true);
let buttonElm = vm.$el;
expect(buttonElm.classList.contains('is-plain')).to.be.true;
destroyVM(vm);
});
it('click', done => {
let result;
const vm = createVue({
vm = createVue({
template: `
<el-button @click="handleClick"></el-button>
`,
@ -75,7 +73,6 @@ describe('Button', () => {
setTimeout(_ => {
expect(result).to.exist;
destroyVM(vm);
done();
}, 20);
});

View File

@ -1,9 +1,14 @@
import { createVue, createTest } from '../util';
import { createVue, createTest, destroyVM } from '../util';
import Card from 'packages/card';
describe('Card', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('slot:header', () => {
const vm = createVue(`
vm = createVue(`
<el-card>
<header slot="header">二师兄叫我埋梗 啦啦啦</header>
</el-card>
@ -13,7 +18,7 @@ describe('Card', () => {
});
it('header', () => {
const vm = createTest(Card, {
vm = createTest(Card, {
header: '好烦'
});
@ -21,7 +26,7 @@ describe('Card', () => {
});
it('bodyStyle', () => {
const vm = createTest(Card, {
vm = createTest(Card, {
bodyStyle: { padding: '10px' }
});

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Checkbox', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-checkbox v-model="checked">
</el-checkbox>
@ -22,7 +27,7 @@ describe('Checkbox', () => {
});
});
it('disabled', () => {
const vm = createVue({
vm = createVue({
template: `
<el-checkbox
v-model="checked"
@ -40,7 +45,7 @@ describe('Checkbox', () => {
expect(checkboxElm.querySelector('.is-disabled')).to.be.ok;
});
it('checkbox group', done => {
const vm = createVue({
vm = createVue({
template: `
<el-checkbox-group v-model="checkList">
<el-checkbox label="a" ref="a"></el-checkbox>
@ -63,7 +68,7 @@ describe('Checkbox', () => {
});
});
it('true false label', done => {
const vm = createVue({
vm = createVue({
template: `
<el-checkbox true-label="a" :false-label="3" v-model="checked"></el-checkbox>
`,
@ -80,7 +85,7 @@ describe('Checkbox', () => {
});
});
it('checked', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-checkbox v-model="checked" checked></el-checkbox>

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Col', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue({
vm = createVue({
template: `
<el-col :span="12">
</el-col>
@ -12,7 +17,7 @@ describe('Col', () => {
expect(colElm.classList.contains('el-col')).to.be.true;
});
it('span', () => {
const vm = createVue({
vm = createVue({
template: `
<el-col :span="12">
</el-col>
@ -22,7 +27,7 @@ describe('Col', () => {
expect(colElm.classList.contains('el-col-12')).to.be.true;
});
it('pull', () => {
const vm = createVue({
vm = createVue({
template: `
<el-col :span="12" :pull="3">
</el-col>
@ -32,7 +37,7 @@ describe('Col', () => {
expect(colElm.classList.contains('el-col-pull-3')).to.be.true;
});
it('push', () => {
const vm = createVue({
vm = createVue({
template: `
<el-col :span="12" :push="3">
</el-col>
@ -42,7 +47,7 @@ describe('Col', () => {
expect(colElm.classList.contains('el-col-push-3')).to.be.true;
});
it('gutter', () => {
const vm = createVue({
vm = createVue({
template: `
<el-row :gutter="20">
<el-col :span="12" ref="col">

View File

@ -4,8 +4,13 @@ import DatePicker from 'packages/date-picker';
const DELAY = 10;
describe('DatePicker', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(DatePicker, {
vm = createTest(DatePicker, {
readonly: true,
placeholder: '23333',
format: 'HH-mm-ss'
@ -17,7 +22,7 @@ describe('DatePicker', () => {
});
it('select date', done => {
const vm = createVue({
vm = createVue({
template: `
<el-date-picker ref="compo" v-model="value"></el-date-picker>
`,
@ -62,7 +67,7 @@ describe('DatePicker', () => {
});
describe('keydown', () => {
let vm, input;
let input;
let keyDown = function(el, keyCode) {
const evt = document.createEvent('Events');
@ -113,7 +118,7 @@ describe('DatePicker', () => {
});
it('type:month', done => {
const vm = createTest(DatePicker, {
vm = createTest(DatePicker, {
type: 'month'
}, true);
const input = vm.$el.querySelector('input');
@ -131,7 +136,7 @@ describe('DatePicker', () => {
});
it('type:year', done => {
const vm = createTest(DatePicker, {
vm = createTest(DatePicker, {
type: 'year'
}, true);
const input = vm.$el.querySelector('input');
@ -301,7 +306,7 @@ describe('DatePicker', () => {
});
it('type:daterange', done => {
const vm = createTest(DatePicker, {
vm = createTest(DatePicker, {
type: 'daterange'
}, true);
const input = vm.$el.querySelector('input');
@ -557,7 +562,7 @@ describe('DatePicker', () => {
it('picker-options:shortcuts', done => {
let test;
const vm = createTest(DatePicker, {
vm = createTest(DatePicker, {
pickerOptions: {
shortcuts: [
{

View File

@ -1,8 +1,13 @@
import { createVue, triggerEvent, destroyVM } from '../util';
describe('Dropdown', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-dropdown ref="dropdown">
<span class="el-dropdown-link">
@ -35,7 +40,7 @@ describe('Dropdown', () => {
}, 400);
});
it('menu click', done => {
const vm = createVue({
vm = createVue({
template: `
<el-dropdown ref="dropdown">
<span class="el-dropdown-link">
@ -70,7 +75,7 @@ describe('Dropdown', () => {
}, 300);
});
it('trigger', done => {
const vm = createVue({
vm = createVue({
template: `
<el-dropdown trigger="click" ref="dropdown">
<span class="el-dropdown-link">
@ -103,7 +108,7 @@ describe('Dropdown', () => {
});
});
it('split button', done => {
const vm = createVue({
vm = createVue({
template: `
<el-dropdown split-button type="primary" ref="dropdown">
更多菜单

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Form', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('label width', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="活动名称">
@ -23,7 +28,7 @@ describe('Form', () => {
done();
});
it('inline form', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form ref="form" :model="form" inline>
<el-form-item>
@ -47,7 +52,7 @@ describe('Form', () => {
done();
});
it('label position', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-form :model="form" label-position="top" ref="labelTop">
@ -82,7 +87,7 @@ describe('Form', () => {
done();
});
it('reset field', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="活动名称" prop="name">
@ -139,7 +144,7 @@ describe('Form', () => {
});
});
it('form item nest', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="活动时间" required>
@ -184,7 +189,7 @@ describe('Form', () => {
});
describe('validate', () => {
it('input', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="name">
@ -230,7 +235,7 @@ describe('Form', () => {
});
});
it('textarea', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="name">
@ -276,7 +281,7 @@ describe('Form', () => {
});
});
it('selector', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="记住密码" prop="region">
@ -321,7 +326,7 @@ describe('Form', () => {
});
});
it('datepicker', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="记住密码" prop="date">
@ -363,7 +368,7 @@ describe('Form', () => {
});
});
it('timepicker', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="记住密码" prop="date">
@ -404,7 +409,7 @@ describe('Form', () => {
});
});
it('checkbox group', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="type">
@ -450,7 +455,7 @@ describe('Form', () => {
});
});
it('radio group', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="type">
@ -494,7 +499,7 @@ describe('Form', () => {
});
});
it('validate field', done => {
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="name">
@ -533,7 +538,7 @@ describe('Form', () => {
callback();
}
};
const vm = createVue({
vm = createVue({
template: `
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="活动名称" prop="name">

View File

@ -1,8 +1,12 @@
import { createVue, triggerEvent, destroyVM } from '../util';
describe('InputNumber', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value">
</el-input-number>
@ -17,10 +21,9 @@ describe('InputNumber', () => {
expect(vm.value).to.be.equal(1);
expect(input.value).to.be.equal('1');
destroyVM(vm);
});
it('decrease', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value" ref="input">
</el-input-number>
@ -48,13 +51,12 @@ describe('InputNumber', () => {
vm.$nextTick(_ => {
expect(vm.$el.querySelector('.el-input.is-active')).to.not.exist;
destroyVM(vm);
done();
});
}, 300);
});
it('increase', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value">
</el-input-number>
@ -75,12 +77,11 @@ describe('InputNumber', () => {
setTimeout(_ => {
expect(vm.value).to.be.equal(2.5);
expect(input.value).to.be.equal('2.5');
destroyVM(vm);
done();
}, 100);
});
it('disabled', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value" disabled>
</el-input-number>
@ -109,13 +110,12 @@ describe('InputNumber', () => {
setTimeout(_ => {
expect(vm.value).to.be.equal(2);
expect(input.value).to.be.equal('2');
destroyVM(vm);
done();
}, 100);
}, 100);
});
it('step', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value" :step="3.2">
</el-input-number>
@ -144,13 +144,12 @@ describe('InputNumber', () => {
setTimeout(_ => {
expect(vm.value).to.be.equal(5);
expect(input.value).to.be.equal('5');
destroyVM(vm);
done();
}, 100);
}, 100);
});
it('min', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value" :min="6">
</el-input-number>
@ -185,12 +184,11 @@ describe('InputNumber', () => {
setTimeout(_ => {
expect(vm.value).to.be.equal(6);
expect(input.value).to.be.equal('6');
destroyVM(vm);
done();
}, 100);
});
it('max', done => {
const vm = createVue({
vm = createVue({
template: `
<el-input-number v-model="value" :max="8">
</el-input-number>
@ -225,7 +223,6 @@ describe('InputNumber', () => {
setTimeout(_ => {
expect(vm.value).to.be.equal(8);
expect(input.value).to.be.equal('8');
destroyVM(vm);
done();
}, 100);
});

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Input', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input
:minlength="3"
@ -33,7 +38,7 @@ describe('Input', () => {
});
it('disabled', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input disabled>
</el-input>
@ -43,7 +48,7 @@ describe('Input', () => {
});
it('icon', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input
icon="time"
@ -69,7 +74,7 @@ describe('Input', () => {
});
it('size', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input size="large">
</el-input>
@ -80,7 +85,7 @@ describe('Input', () => {
});
it('type', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input type="textarea">
</el-input>
@ -91,7 +96,7 @@ describe('Input', () => {
});
it('rows', () => {
const vm = createVue({
vm = createVue({
template: `
<el-input type="textarea" :rows="3">
</el-input>
@ -100,7 +105,7 @@ describe('Input', () => {
expect(vm.$el.querySelector('.el-textarea__inner').getAttribute('rows')).to.be.equal('3');
});
it('autosize', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-input

View File

@ -1,9 +1,14 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
import Vue from 'vue';
describe('Loading', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<div v-loading="loading"></div>
`,
@ -65,7 +70,7 @@ describe('Loading', () => {
});
it('body', done => {
const vm = createVue({
vm = createVue({
template: `
<div v-loading.body="loading"></div>
`,
@ -87,7 +92,7 @@ describe('Loading', () => {
});
it('fullscreen', done => {
const vm = createVue({
vm = createVue({
template: `
<div v-loading.fullscreen="loading"></div>
`,
@ -112,7 +117,7 @@ describe('Loading', () => {
});
it('lock', done => {
const vm = createVue({
vm = createVue({
template: `
<div v-loading.fullscreen.lock="loading"></div>
`,

View File

@ -1,8 +1,13 @@
import { createVue, triggerEvent } from '../util';
import { createVue, triggerEvent, destroyVM } from '../util';
describe('Menu', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu>
<el-menu-item index="1" ref="item1">处理中心</el-menu-item>
@ -23,7 +28,7 @@ describe('Menu', () => {
});
});
it('default active', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu default-active="2">
<el-menu-item index="1" ref="item1">处理中心</el-menu-item>
@ -39,7 +44,7 @@ describe('Menu', () => {
});
});
it('active watch', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu :default-active="active">
<el-menu-item index="1" ref="item1">active watch处理中心</el-menu-item>
@ -61,7 +66,7 @@ describe('Menu', () => {
}, 100);
});
it('default active in submenu', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu default-active="2-2">
<el-menu-item index="1" ref="item1">处理中心</el-menu-item>
@ -83,7 +88,7 @@ describe('Menu', () => {
});
});
it('submenu', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu>
<el-menu-item index="1" ref="item1">处理中心</el-menu-item>
@ -118,7 +123,7 @@ describe('Menu', () => {
});
});
it('submenu default opened', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu theme="dark" :default-openeds="defaultOpeneds">
<el-menu-item index="1">default opened处理中心</el-menu-item>
@ -152,7 +157,7 @@ describe('Menu', () => {
});
});
it('theme', () => {
const vm = createVue({
vm = createVue({
template: `
<el-menu theme="dark">
<el-menu-item index="1" ref="item1">处理中心</el-menu-item>
@ -167,7 +172,7 @@ describe('Menu', () => {
expect(vm.$el.classList.contains('el-menu--dark')).to.be.true;
});
it('unique-opened', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu theme="dark" unique-opened default-active="2-2">
<el-menu-item index="1">处理中心</el-menu-item>
@ -198,7 +203,7 @@ describe('Menu', () => {
});
});
it('horizontal mode', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu mode="horizontal">
<el-menu-item index="1">处理中心</el-menu-item>
@ -229,7 +234,7 @@ describe('Menu', () => {
}, 500);
});
it('menu trigger click', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu mode="horizontal" menu-trigger="click">
<el-menu-item index="1">处理中心</el-menu-item>
@ -264,7 +269,7 @@ describe('Menu', () => {
}, 500);
});
it('horizontal submenu active', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu mode="horizontal">
<el-menu-item index="1">处理中心</el-menu-item>
@ -286,7 +291,7 @@ describe('Menu', () => {
});
});
it('menu group', done => {
const vm = createVue({
vm = createVue({
template: `
<el-menu mode="vertical" default-active="1">
<el-menu-item-group title="分组一" ref="group1">

View File

@ -1,9 +1,13 @@
import { createTest, createVue, triggerEvent } from '../util';
import { createTest, createVue, triggerEvent, destroyVM } from '../util';
import Pagination from 'packages/pagination';
describe('Pagination', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Pagination);
vm = createTest(Pagination);
const elm = vm.$el;
// prev
expect(elm.querySelector('button.btn-prev')).to.exist;
@ -20,7 +24,7 @@ describe('Pagination', () => {
});
it('set layout', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
layout: 'prev, pager, next'
});
const elm = vm.$el;
@ -39,14 +43,14 @@ describe('Pagination', () => {
});
it('small', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
small: true
});
expect(vm.$el.classList.contains('el-pagination--small')).to.true;
});
it('pageSize', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
pageSize: 25,
total: 100
});
@ -55,7 +59,7 @@ describe('Pagination', () => {
});
it('currentPage', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
pageSize: 20,
total: 200,
currentPage: 3
@ -65,7 +69,7 @@ describe('Pagination', () => {
});
it('pageSizes', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
pageSizes: [10, 15, 35, 50],
pageSize: 35,
total: 1000,
@ -79,7 +83,7 @@ describe('Pagination', () => {
});
it('pageSizes:not found pageSize', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
pageSizes: [10, 15, 35, 50],
pageSize: 24,
total: 1000,
@ -90,7 +94,7 @@ describe('Pagination', () => {
});
it('layout is empty', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
layout: ''
});
@ -98,7 +102,7 @@ describe('Pagination', () => {
});
it('jumper: change value', () => {
const vm = createVue({
vm = createVue({
template: `
<el-pagination
@current-change="handleChange"
@ -133,7 +137,7 @@ describe('Pagination', () => {
});
it('event:current-change', () => {
const vm = createVue({
vm = createVue({
template: `
<el-pagination
:total="1000"
@ -159,7 +163,7 @@ describe('Pagination', () => {
});
it('event:size-change', done => {
const vm = createVue({
vm = createVue({
template: `
<el-pagination
:total="100"
@ -182,7 +186,7 @@ describe('Pagination', () => {
});
it('pageSize > total', () => {
const vm = createVue({
vm = createVue({
template: `
<el-pagination
@current-change="handleChange"
@ -213,7 +217,7 @@ describe('Pagination', () => {
describe('click pager', () => {
it('click ul', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
total: 1000
}, true);
@ -222,7 +226,7 @@ describe('Pagination', () => {
});
it('click li', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
total: 1000
}, true);
@ -231,7 +235,7 @@ describe('Pagination', () => {
});
it('click next icon-more', () => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
total: 1000
}, true);
@ -240,7 +244,7 @@ describe('Pagination', () => {
});
it('click prev icon-more', done => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
total: 1000
}, true);
@ -254,7 +258,7 @@ describe('Pagination', () => {
});
it('click last page', done => {
const vm = createTest(Pagination, {
vm = createTest(Pagination, {
total: 1000
}, true);
const nodes = vm.$el.querySelectorAll('li.number');

View File

@ -1,7 +1,12 @@
import { createVue, triggerEvent, createTest } from '../util';
import { createVue, triggerEvent, createTest, destroyVM } from '../util';
import Popover, { directive } from 'packages/popover';
describe('Popover', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
describe('trigger', () => {
const createVM = (trigger) => {
return createVue(`
@ -17,7 +22,7 @@ describe('Popover', () => {
};
it('click', () => {
const vm = createVM('click');
vm = createVM('click');
const compo = vm.$refs.popover;
vm.$el.querySelector('button').click();
@ -27,7 +32,7 @@ describe('Popover', () => {
});
it('hover', done => {
const vm = createVM('hover');
vm = createVM('hover');
const compo = vm.$refs.popover;
const button = vm.$el.querySelector('button');
@ -41,7 +46,7 @@ describe('Popover', () => {
});
it('focus input in children node', () => {
const vm = createVue(`
vm = createVue(`
<div>
<el-popover
ref="popover"
@ -63,7 +68,7 @@ describe('Popover', () => {
});
it('focus textarea in children node', () => {
const vm = createVue(`
vm = createVue(`
<div>
<el-popover
ref="popover"
@ -85,7 +90,7 @@ describe('Popover', () => {
});
it('focus input', () => {
const vm = createVue(`
vm = createVue(`
<div>
<el-popover
ref="popover"
@ -105,7 +110,7 @@ describe('Popover', () => {
});
it('focus button', () => {
const vm = createVM('focus');
vm = createVM('focus');
const compo = vm.$refs.popover;
const button = vm.$el.querySelector('button');
@ -187,7 +192,7 @@ describe('Popover', () => {
});
it('destroy event', () => {
const vm = createTest(Popover, {
vm = createTest(Popover, {
reference: document.createElement('div'),
popper: document.createElement('div')
});

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Progress', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-progress ref="percent0" :percentage="0"></el-progress>
@ -21,7 +26,7 @@ describe('Progress', () => {
expect(vm.$refs.percent100.$el.querySelector('.el-progress-bar__inner').style.width).to.be.equal('100%');
});
it('status', () => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-progress ref="lineSuccess" :percentage="100" status="success"></el-progress>
@ -42,7 +47,7 @@ describe('Progress', () => {
expect(vm.$refs.circleException.$el.querySelector('.el-progress__text .el-icon-close')).to.be.exist;
});
it('text inside', () => {
const vm = createVue({
vm = createVue({
template: `
<el-progress :percentage="50" text-inside></el-progress>
`
@ -50,7 +55,7 @@ describe('Progress', () => {
expect(vm.$el.classList.contains('el-progress--text-inside')).to.be.true;
});
it('stroke width', () => {
const vm = createVue({
vm = createVue({
template: `
<el-progress :percentage="50" :stroke-width="8"></el-progress>
`
@ -58,7 +63,7 @@ describe('Progress', () => {
expect(vm.$el.querySelector('.el-progress-bar__outer').style.height).to.be.equal('8px');
});
it('show text', () => {
const vm = createVue({
vm = createVue({
template: `
<el-progress :percentage="50" :show-text="false"></el-progress>
`
@ -66,7 +71,7 @@ describe('Progress', () => {
expect(vm.$el.querySelector('.el-progress__text')).to.not.exist;
});
it('circle', () => {
const vm = createVue({
vm = createVue({
template: `
<el-progress type="circle" :percentage="50"></el-progress>
`
@ -74,7 +79,7 @@ describe('Progress', () => {
expect(vm.$el.classList.contains('el-progress--circle')).to.be.true;
});
it('width', () => {
const vm = createVue({
vm = createVue({
template: `
<el-progress type="circle" :percentage="50" :width="120"></el-progress>
`

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Radio', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-radio v-model="radio" label="a">
</el-radio>
@ -22,7 +27,7 @@ describe('Radio', () => {
});
});
it('disabled', done => {
const vm = createVue({
vm = createVue({
template: `
<el-radio
v-model="radio"
@ -46,7 +51,7 @@ describe('Radio', () => {
});
});
it('radio group', done => {
const vm = createVue({
vm = createVue({
template: `
<el-radio-group v-model="radio">
<el-radio :label="3" ref="radio1">备选项</el-radio>
@ -70,7 +75,7 @@ describe('Radio', () => {
});
});
it('radio button', done => {
const vm = createVue({
vm = createVue({
template: `
<el-radio-group v-model="radio">
<el-radio-button :label="3" ref="radio1">备选项</el-radio-button>

View File

@ -1,14 +1,19 @@
import { createTest } from '../util';
import { createTest, destroyVM } from '../util';
import Row from 'packages/row';
describe('Row', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(Row, true);
vm = createTest(Row, true);
let rowElm = vm.$el;
expect(rowElm.classList.contains('el-row')).to.be.true;
});
it('gutter', () => {
const vm = createTest(Row, {
vm = createTest(Row, {
gutter: 20
}, true);
let rowElm = vm.$el;
@ -16,21 +21,21 @@ describe('Row', () => {
expect(rowElm.style.marginRight).to.be.equal('-10px');
});
it('type', () => {
const vm = createTest(Row, {
vm = createTest(Row, {
type: 'flex'
}, true);
let rowElm = vm.$el;
expect(rowElm.classList.contains('el-row--flex')).to.be.true;
});
it('justify', () => {
const vm = createTest(Row, {
vm = createTest(Row, {
justify: 'end'
}, true);
let rowElm = vm.$el;
expect(rowElm.classList.contains('is-justify-end')).to.be.true;
});
it('align', () => {
const vm = createTest(Row, {
vm = createTest(Row, {
align: 'bottom'
}, true);
let rowElm = vm.$el;

View File

@ -1,9 +1,14 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
import Vue from 'vue';
describe('Steps', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue(`
vm = createVue(`
<el-steps>
<el-step title="step1"></el-step>
<el-step title="step2"></el-step>
@ -15,7 +20,7 @@ describe('Steps', () => {
});
it('space', done => {
const vm = createVue(`
vm = createVue(`
<el-steps>
<el-step title="step1"></el-step>
<el-step title="step2"></el-step>
@ -41,7 +46,7 @@ describe('Steps', () => {
});
it('processStatus', done => {
const vm = createVue(`
vm = createVue(`
<el-steps :active="1" process-status="error">
<el-step title="step1"></el-step>
<el-step title="step2"></el-step>
@ -56,7 +61,7 @@ describe('Steps', () => {
});
it('finishStatus', done => {
const vm = createVue(`
vm = createVue(`
<el-steps :active="1" finish-status="error">
<el-step title="abc"></el-step>
<el-step title="abc2"></el-step>
@ -70,7 +75,7 @@ describe('Steps', () => {
});
it('active', done => {
const vm = createVue({
vm = createVue({
template: `
<el-steps :active="active" finish-status="error">
<el-step title="abc"></el-step>
@ -94,7 +99,7 @@ describe('Steps', () => {
});
it('create vertical', () => {
const vm = createVue(`
vm = createVue(`
<el-steps direction="vertical">
<el-step title="aaa"></el-step>
<el-step title="bbb"></el-step>
@ -105,7 +110,7 @@ describe('Steps', () => {
});
it('vertical:height', done => {
const vm = createVue(`
vm = createVue(`
<el-steps direction="vertical" :space="200">
<el-step title="aaa"></el-step>
<el-step title="bbb"></el-step>

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Tabs', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', done => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs>
<el-tab-pane label="用户管理">A</el-tab-pane>
@ -27,7 +32,7 @@ describe('Tabs', () => {
}, 100);
});
it('active-name', done => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs :active-name="activeName" @click="handleClick">
<el-tab-pane name="tab-A" label="用户管理">A</el-tab-pane>
@ -63,7 +68,7 @@ describe('Tabs', () => {
}, 100);
});
it('card', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs type="card">
<el-tab-pane label="用户管理">A</el-tab-pane>
@ -77,7 +82,7 @@ describe('Tabs', () => {
expect(vm.$el.classList.contains('el-tabs--card')).to.be.true;
});
it('border card', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs type="border-card">
<el-tab-pane label="用户管理">A</el-tab-pane>
@ -91,7 +96,7 @@ describe('Tabs', () => {
expect(vm.$el.classList.contains('el-tabs--border-card')).to.be.true;
});
it('closable', done => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs type="card" closable @tab-remove="handleRemove">
<el-tab-pane label="用户管理">A</el-tab-pane>
@ -127,7 +132,7 @@ describe('Tabs', () => {
}, 100);
});
it('closable edge', done => {
const vm = createVue({
vm = createVue({
template: `
<el-tabs type="card" closable>
<el-tab-pane label="用户管理">A</el-tab-pane>

View File

@ -1,8 +1,13 @@
import { createVue } from '../util';
import { createVue, destroyVM } from '../util';
describe('Tag', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tag></el-tag>
`
@ -14,7 +19,7 @@ describe('Tag', () => {
});
it('text', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tag>标签</el-tag>
`
@ -23,7 +28,7 @@ describe('Tag', () => {
});
it('type', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tag type="primary"></el-tag>
`
@ -32,7 +37,7 @@ describe('Tag', () => {
});
it('hit', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tag hit></el-tag>
`
@ -41,7 +46,7 @@ describe('Tag', () => {
});
it('closable', done => {
const vm = createVue({
vm = createVue({
template: `
<el-tag closable @close="handleClose"></el-tag>
`,
@ -66,7 +71,7 @@ describe('Tag', () => {
});
it('closeTransition', () => {
const vm = createVue({
vm = createVue({
template: `
<el-tag closable closeTransition></el-tag>
`

View File

@ -3,8 +3,13 @@ import TimePicker from 'packages/time-picker';
import Vue from 'vue';
describe('TimePicker', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
placeholder: 'test',
readonly: true
});
@ -14,7 +19,7 @@ describe('TimePicker', () => {
});
it('format', () => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
format: 'HH-mm-ss',
value: new Date(2016, 9, 10, 18, 40)
});
@ -23,7 +28,7 @@ describe('TimePicker', () => {
});
it('default value', done => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
value: new Date(2016, 9, 10, 18, 40)
}, true);
@ -45,7 +50,7 @@ describe('TimePicker', () => {
});
it('select time', done => {
const vm = createTest(TimePicker, true);
vm = createTest(TimePicker, true);
const input = vm.$el.querySelector('input');
input.blur();
@ -80,7 +85,7 @@ describe('TimePicker', () => {
});
it('click cancel button', done => {
const vm = createTest(TimePicker, true);
vm = createTest(TimePicker, true);
const input = vm.$el.querySelector('input');
input.blur();
@ -97,7 +102,7 @@ describe('TimePicker', () => {
});
it('click confirm button', done => {
const vm = createTest(TimePicker, true);
vm = createTest(TimePicker, true);
const input = vm.$el.querySelector('input');
input.blur();
@ -114,7 +119,7 @@ describe('TimePicker', () => {
});
it('set format', done => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
pickerOptions: {
format: 'HH:mm'
}
@ -131,7 +136,7 @@ describe('TimePicker', () => {
});
it('set format to empty', done => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
pickerOptions: {
format: ''
}
@ -148,7 +153,7 @@ describe('TimePicker', () => {
});
it('selectableRange', done => {
const vm = createTest(TimePicker, {
vm = createTest(TimePicker, {
pickerOptions: {
selectableRange: '18:30:00 - 20:30:00'
}

View File

@ -3,8 +3,13 @@ import TimeSelect from 'packages/time-select';
import Vue from 'vue';
describe('TimeSelect', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('should render correct contents', done => {
const vm = createTest(TimeSelect, {
vm = createTest(TimeSelect, {
pickerOptions: {
start: '08:30',
step: '00:15',
@ -28,7 +33,7 @@ describe('TimeSelect', () => {
});
it('select time', done => {
const vm = createVue({
vm = createVue({
template: `
<div>
<el-time-select ref="compo" v-model="value">
@ -62,7 +67,7 @@ describe('TimeSelect', () => {
});
it('set default value', done => {
const vm = createTest(TimeSelect, {
vm = createTest(TimeSelect, {
value: '14:30'
}, true);
const input = vm.$el.querySelector('input');
@ -80,7 +85,7 @@ describe('TimeSelect', () => {
});
it('set minTime', done => {
const vm = createVue(`
vm = createVue(`
<el-time-select
ref="picker"
:picker-options="{
@ -105,7 +110,7 @@ describe('TimeSelect', () => {
});
it('minTime < value', done => {
const vm = createVue({
vm = createVue({
template: `
<el-time-select
ref="picker"

View File

@ -1,8 +1,13 @@
import { createVue, triggerEvent } from '../util';
import { createVue, triggerEvent, destroyVM } from '../util';
describe('Tooltip', () => {
let vm;
afterEach(() => {
destroyVM(vm);
});
it('create', () => {
const vm = createVue(`
vm = createVue(`
<el-tooltip content="提示文字">
<button>click</button>
</el-tooltip>`);
@ -66,7 +71,7 @@ describe('Tooltip', () => {
});
it('light mode', () => {
const vm = createVue(`
vm = createVue(`
<el-tooltip content="abc" effect="light">
<button>abc</button>
</el-tooltip>