Skip to content

Commit c823770

Browse files
committed
test: prop test case
1 parent 15d458f commit c823770

File tree

2 files changed

+35
-6
lines changed

2 files changed

+35
-6
lines changed

tests/index.spec.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import Overflow from '../src';
33
import { mount } from './wrapper';
44

55
interface ItemType {
6-
label: string;
7-
key: number;
6+
label: React.ReactNode;
7+
key: React.Key;
88
}
99

1010
function renderItem(item: ItemType) {
@@ -15,7 +15,7 @@ describe('Overflow', () => {
1515
function getData(count: number) {
1616
return new Array(count).fill(undefined).map((_, index) => ({
1717
label: `Label ${index}`,
18-
key: index,
18+
key: `k-${index}`,
1919
}));
2020
}
2121

@@ -41,16 +41,42 @@ describe('Overflow', () => {
4141
expect(wrapper.findRest()).toHaveLength(1);
4242
});
4343

44+
it('without renderItem', () => {
45+
const wrapper = mount(<Overflow data={[<span>Bamboo Is Light</span>]} />);
46+
expect(wrapper.find('Item').text()).toEqual('Bamboo Is Light');
47+
});
48+
4449
it('renderRest', () => {
4550
const wrapper = mount(
4651
<Overflow
4752
data={getData(6)}
4853
renderItem={renderItem}
49-
renderRest={(omittedItems) => `Bamboo: ${omittedItems.length}`}
54+
renderRest={omittedItems => `Bamboo: ${omittedItems.length}`}
5055
maxCount={3}
5156
/>,
5257
);
5358

5459
expect(wrapper.findRest().text()).toEqual('Bamboo: 3');
5560
});
61+
62+
describe('itemKey', () => {
63+
it('string', () => {
64+
const wrapper = mount(
65+
<Overflow data={getData(1)} renderItem={renderItem} itemKey="key" />,
66+
);
67+
68+
expect(wrapper.find('Item').key()).toEqual('k-0');
69+
});
70+
it('function', () => {
71+
const wrapper = mount(
72+
<Overflow
73+
data={getData(1)}
74+
renderItem={renderItem}
75+
itemKey={item => `bamboo-${item.key}`}
76+
/>,
77+
);
78+
79+
expect(wrapper.find('Item').key()).toEqual('bamboo-k-0');
80+
});
81+
});
5682
});

tests/setup.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const Adapter = require('enzyme-adapter-react-16');
33
const { act } = require('react-dom/test-utils');
44
require('regenerator-runtime/runtime');
55

6-
window.requestAnimationFrame = (func) => {
6+
window.requestAnimationFrame = func => {
77
window.setTimeout(func, 16);
88
};
99

@@ -12,7 +12,10 @@ Enzyme.configure({ adapter: new Adapter() });
1212
Object.assign(Enzyme.ReactWrapper.prototype, {
1313
triggerResize(offsetWidth) {
1414
act(() => {
15-
this.find('ResizeObserver').first().props().onResize({ offsetWidth });
15+
this.find('ResizeObserver')
16+
.first()
17+
.props()
18+
.onResize({ offsetWidth });
1619
});
1720
},
1821
triggerItemResize(index, offsetWidth) {

0 commit comments

Comments
 (0)