Table: add sortable test

pull/690/head
qingwei.li 2016-10-28 09:47:10 +08:00
parent ad30305d6d
commit 691a49fc17
4 changed files with 47 additions and 13 deletions

View File

@ -945,4 +945,4 @@
| filters | 数据过滤的选项,数组格式,数组中的元素需要有 text 和 value 属性。 | Array[{ text, value }] | — | — |
| filter-multiple | 数据过滤的选项是否多选 | Boolean | — | true |
| filter-method | 数据过滤使用的方法,如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示。 | Function(value, row) | — | — |
| filteredValue | 选中的数据过滤项,如果需要自定义表头过滤的渲染方式,可能会需要此属性。 | Array | — | — |
| filtered-value | 选中的数据过滤项,如果需要自定义表头过滤的渲染方式,可能会需要此属性。 | Array | — | — |

View File

@ -49,15 +49,6 @@ const forced = {
},
sortable: false
}
// filter: {
// headerTemplate: function(h) {
// return '#';
// },
// template: function(h, { row, column }) {
// return <el-tag type="primary" style="height: 16px; line-height: 16px; min-width: 40px; text-align: center">{ row[column.property] }</el-tag>;
// },
// resizable: false
// }
};
const getDefaultColumn = function(type, options) {

View File

@ -4,7 +4,7 @@ Function.prototype.bind = require('function-bind');
require('packages/theme-default/src/index.css');
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs', true, /\.spec$/);
const testsContext = require.context('./specs', true, /table\.spec$/);
testsContext.keys().forEach(testsContext);
// require all src files except main.js for coverage.

View File

@ -420,7 +420,6 @@ describe('Table', () => {
}, DELAY);
});
// TODO
it('resizable', done => {
const vm = createTable(
'resizable',
@ -712,15 +711,59 @@ describe('Table', () => {
});
describe('sortable', () => {
const vm = createTable('', '', '', 'sortable');
it('render', done => {
const vm = createTable('', '', '', 'sortable');
setTimeout(_ => {
expect(vm.$el.querySelectorAll('.caret-wrapper')).to.length(1);
destroyVM(vm);
done();
}, DELAY);
});
it('sortable method', done => {
const vm = createTable(
'sortable :sort-method="sortMethod"', '', '', '', {
methods: {
sortMethod(a, b) {
return a.runtime < b.runtime;
}
}
});
setTimeout(_ => {
const elm = vm.$el.querySelector('.caret-wrapper');
elm.click();
setTimeout(_ => {
const lastCells = vm.$el.querySelectorAll('.el-table__body-wrapper tbody tr td:last-child');
expect(toArray(lastCells).map(node => node.textContent)).to.eql(['100', '95', '92', '92', '80']);
destroyVM(vm);
done();
}, DELAY);
}, DELAY);
});
it('sort-change', done => {
let result;
const vm = createTable('sortable="custom"', '', '', '', {
methods: {
sortChange(...args) {
result = args;
}
}
}, '@sort-change="sortChange"');
setTimeout(_ => {
const elm = vm.$el.querySelector('.caret-wrapper');
elm.click();
setTimeout(_ => {
expect(result).to.exist;
destroyVM(vm);
done();
}, DELAY);
}, DELAY);
});
});
describe('click sortable column', () => {