Skip to content

Commit 8288c8c

Browse files
authored
fix: mount resize (#12)
* fix: mount resize * test: fix test case
1 parent 14a1d59 commit 8288c8c

File tree

3 files changed

+25
-29
lines changed

3 files changed

+25
-29
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
},
5050
"devDependencies": {
5151
"@types/classnames": "^2.2.9",
52+
"@types/enzyme": "^3.10.10",
5253
"@types/react": "^16.9.2",
5354
"@types/react-dom": "^16.9.0",
5455
"@umijs/fabric": "^2.0.8",

src/ResizableTextArea.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ class ResizableTextArea extends React.Component<TextAreaProps, TextAreaState> {
4242
this.textArea = textArea;
4343
};
4444

45-
componentDidMount() {
46-
this.resizeTextarea();
47-
}
48-
4945
componentDidUpdate(prevProps: TextAreaProps) {
5046
// Re-render with the new content then recalculate the height as required.
5147
if (prevProps.value !== this.props.value) {

tests/index.spec.js

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -168,18 +168,16 @@ describe('TextArea', () => {
168168
resizeStatus: 2,
169169
});
170170
await sleep(100);
171-
wrapper
172-
.find('ResizeObserver')
173-
.instance()
174-
.onResize([
175-
{
176-
target: {
177-
getBoundingClientRect() {
178-
return {};
179-
},
180-
},
181-
},
182-
]);
171+
wrapper.find('ResizeObserver').prop('onResize')(
172+
{
173+
width: 100,
174+
height: 100,
175+
offsetWidth: 100,
176+
offsetHeight: 100,
177+
},
178+
{},
179+
);
180+
183181
expect(resizeTextarea).not.toHaveBeenCalled();
184182
});
185183

@@ -202,19 +200,20 @@ describe('TextArea', () => {
202200
const onResize = jest.fn();
203201
const wrapper = mount(<TextArea onResize={onResize} autoSize />);
204202
await sleep(100);
205-
wrapper
206-
.find('ResizeObserver')
207-
.instance()
208-
.onResize([
209-
{
210-
target: {
211-
getBoundingClientRect() {
212-
return {};
213-
},
214-
},
215-
},
216-
]);
203+
204+
const internalResize = wrapper.find('ResizeObserver').prop('onResize');
205+
206+
internalResize(
207+
{
208+
width: 100,
209+
height: 100,
210+
offsetWidth: 100,
211+
offsetHeight: 100,
212+
},
213+
{},
214+
);
217215
await Promise.resolve();
216+
218217
expect(onResize).toHaveBeenCalledWith(
219218
expect.objectContaining({
220219
width: expect.any(Number),
@@ -231,7 +230,7 @@ describe('TextArea', () => {
231230
wrapper.find('textarea').getDOMNode(),
232231
'setSelectionRange',
233232
);
234-
wrapper.find('textarea').simulate('input', { target: { value: '\n1' } });
233+
wrapper.find('textarea').simulate('change', { target: { value: '\n1' } });
235234
await sleep(100);
236235
expect(setSelectionRangeFn).toHaveBeenCalled();
237236
wrapper.unmount();

0 commit comments

Comments
 (0)