diff --git a/src/table/__tests__/base.test.jsx b/src/table/__tests__/base.test.jsx index 8adf095cbe..d68e93a13f 100644 --- a/src/table/__tests__/base.test.jsx +++ b/src/table/__tests__/base.test.jsx @@ -561,5 +561,56 @@ TABLES.forEach((TTable) => { expect(wrapper.find('.t-table__top-content').text()).toBe(topContentText); }); }); + + describe(':props.filterIcon', () => { + it('props.filterIcon could be function', async () => { + const filterIconText = () => '筛'; + const filterColumns = SIMPLE_COLUMNS.map((item) => ({ + ...item, + filter: { type: 'single', list: [{ label: 1, value: 2 }] }, + })); + + const wrapper = mount({ + render() { + return ; + }, + }); + + if (TTable.name == 'TBaseTable') { + expect(wrapper.find('.t-table__filter-icon').exists()).toBeFalsy(); + } else { + expect(wrapper.find('.t-table__filter-icon').exists()).toBeTruthy(); + expect(wrapper.find('.t-table__filter-icon').text()).toBe(filterIconText()); + } + }); + + it('slots.filter-icon works fine', () => { + const filterIconText = (rowKey) => '筛' + rowKey; + const filterColumns = SIMPLE_COLUMNS.map((item) => ({ + ...item, + filter: { type: 'single', list: [{ label: 1, value: 2 }] }, + })); + const wrapper = mount({ + render() { + return ( + filterIconText(col.col.colKey) }} + rowKey="index" + data={data} + columns={filterColumns} + > + ); + }, + }); + if (TTable.name == 'TBaseTable') { + expect(wrapper.find('.t-table__filter-icon').exists()).toBeFalsy(); + } else { + expect(wrapper.find('.t-table__filter-icon').exists()).toBeTruthy(); + SIMPLE_COLUMNS.forEach((item, index) => { + expect(wrapper.findAll('.t-table__filter-icon').at(index).text()).toBe(filterIconText(item.colKey)); + }); + } + }); + }); }); });