diff --git a/test/unit/specs/table.spec.js b/test/unit/specs/table.spec.js
index f9c8117a2..13e4c61a8 100644
--- a/test/unit/specs/table.spec.js
+++ b/test/unit/specs/table.spec.js
@@ -1169,6 +1169,102 @@ describe('Table', () => {
});
});
+ describe('summary row', () => {
+ it('should render', done => {
+ const vm = createVue({
+ template: `
+
+
+
+
+
+
+ `,
+
+ created() {
+ this.testData = getTestData();
+ }
+ }, true);
+
+ setTimeout(_ => {
+ const footer = vm.$el.querySelector('.el-table__footer');
+ expect(footer).to.exist;
+ const cells = toArray(footer.querySelectorAll('.cell'));
+ expect(cells[cells.length - 1].innerText).to.equal('459');
+ destroyVM(vm);
+ done();
+ }, DELAY);
+ });
+
+ it('custom sum text', done => {
+ const vm = createVue({
+ template: `
+
+
+
+
+
+
+ `,
+
+ created() {
+ this.testData = getTestData();
+ }
+ }, true);
+
+ setTimeout(_ => {
+ const cells = toArray(vm.$el.querySelectorAll('.el-table__footer .cell'));
+ expect(cells[0].innerText).to.equal('Time');
+ destroyVM(vm);
+ done();
+ }, DELAY);
+ });
+
+ it('custom summary method', done => {
+ const vm = createVue({
+ template: `
+
+
+
+
+
+
+ `,
+
+ created() {
+ this.testData = getTestData();
+ },
+
+ methods: {
+ getSummary(param) {
+ const { columns, data } = param;
+ const result = [];
+ columns.forEach(column => {
+ const prop = column.property;
+ if (prop === 'release') {
+ const dates = data.map(item => item[prop]);
+ const releaseYears = dates.map(date => Number(date.slice(0, 4)));
+ result.push(releaseYears.reduce((prev, curr) => {
+ return prev + curr;
+ }));
+ } else {
+ result.push('');
+ }
+ });
+ return result;
+ }
+ }
+ }, true);
+
+ setTimeout(_ => {
+ const cells = toArray(vm.$el.querySelectorAll('.el-table__footer .cell'));
+ expect(cells[1].innerText).to.equal('9996');
+ destroyVM(vm);
+ done();
+ }, DELAY);
+ });
+ });
+
describe('multi level column', () => {
it('should works', done => {
const vm = createVue({