Skip to content

Commit a3abeab

Browse files
committed
test: fix test case
1 parent 924e712 commit a3abeab

File tree

12 files changed

+89
-88
lines changed

12 files changed

+89
-88
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"dependencies": {
4848
"@rc-component/input": "~1.1.0",
4949
"@rc-component/mini-decimal": "^1.0.1",
50-
"@rc-component/util": "^1.2.0",
50+
"@rc-component/util": "^1.4.0",
5151
"clsx": "^2.1.1"
5252
},
5353
"devDependencies": {

src/InputNumber.tsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@ import proxyObject from '@rc-component/util/lib/proxyObject';
1111
import { clsx } from 'clsx';
1212
import * as React from 'react';
1313
import useCursor from './hooks/useCursor';
14-
import SemanticContext from './SemanticContext';
1514
import StepHandler from './StepHandler';
1615
import { getDecupleSteps } from './utils/numberUtil';
1716

1817
import { BaseInputProps } from '@rc-component/input/lib/interface';
19-
import { InputFocusOptions } from '@rc-component/input/lib/utils/commonUtils';
2018
import { useEvent } from '@rc-component/util';
19+
import { triggerFocus, type InputFocusOptions } from '@rc-component/util/lib/DOM/focus';
2120
import useFrame from './hooks/useFrame';
2221

2322
export type { ValueType };
@@ -118,6 +117,8 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
118117
prefixCls = 'rc-input-number',
119118
className,
120119
style,
120+
classNames,
121+
styles,
121122
min,
122123
max,
123124
step = 1,
@@ -150,10 +151,6 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
150151
...inputProps
151152
} = props;
152153

153-
const { classNames, styles } = React.useContext(SemanticContext) || {};
154-
155-
const inputClassName = `${prefixCls}-input`;
156-
157154
const [focus, setFocus] = React.useState(false);
158155

159156
const userTypingRef = React.useRef(false);
@@ -166,7 +163,12 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
166163

167164
React.useImperativeHandle(ref, () =>
168165
proxyObject(inputRef.current, {
169-
focus,
166+
focus: (option?: InputFocusOptions) => {
167+
triggerFocus(inputRef.current, option);
168+
},
169+
blur: () => {
170+
inputRef.current?.blur();
171+
},
170172
nativeElement: rootRef.current,
171173
}),
172174
);
@@ -637,9 +639,9 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
637639
>
638640
{mode === 'spinner' && controls && downNode}
639641

640-
{suffix !== undefined && (
641-
<div className={clsx(`${prefixCls}-suffix`, classNames?.suffix)} style={styles?.suffix}>
642-
{suffix}
642+
{prefix !== undefined && (
643+
<div className={clsx(`${prefixCls}-prefix`, classNames?.prefix)} style={styles?.prefix}>
644+
{prefix}
643645
</div>
644646
)}
645647

@@ -652,7 +654,8 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
652654
step={step}
653655
{...inputProps}
654656
ref={inputRef}
655-
className={inputClassName}
657+
className={clsx(`${prefixCls}-input`, classNames?.input)}
658+
style={styles?.input}
656659
value={inputValue}
657660
onChange={onInternalInput}
658661
disabled={disabled}
@@ -661,7 +664,7 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
661664

662665
{suffix !== undefined && (
663666
<div className={clsx(`${prefixCls}-suffix`, classNames?.suffix)} style={styles?.suffix}>
664-
{prefix}
667+
{suffix}
665668
</div>
666669
)}
667670

src/SemanticContext.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

tests/__snapshots__/baseInput.test.tsx.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ exports[`baseInput prefix should render properly 1`] = `
9494
<div
9595
class="rc-input rc-input-mode-input"
9696
>
97+
<div
98+
class="rc-input-prefix"
99+
>
100+
<span>
101+
Prefix
102+
</span>
103+
</div>
97104
<input
98105
autocomplete="off"
99106
class="rc-input-input"

tests/click.test.tsx

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,28 +43,28 @@ describe('InputNumber.Click', () => {
4343
}
4444

4545
describe('basic work', () => {
46-
testInputNumber('up button', { defaultValue: 10 }, '.rc-input-number-handler-up', 11, 'up', 'handler');
46+
testInputNumber('up button', { defaultValue: 10 }, '.rc-input-number-action-up', 11, 'up', 'handler');
4747

48-
testInputNumber('down button', { value: 10 }, '.rc-input-number-handler-down', 9, 'down', 'handler');
48+
testInputNumber('down button', { value: 10 }, '.rc-input-number-action-down', 9, 'down', 'handler');
4949
});
5050

5151
describe('empty input', () => {
52-
testInputNumber('up button', {}, '.rc-input-number-handler-up', 1, 'up', 'handler');
52+
testInputNumber('up button', {}, '.rc-input-number-action-up', 1, 'up', 'handler');
5353

54-
testInputNumber('down button', {}, '.rc-input-number-handler-down', -1, 'down', 'handler');
54+
testInputNumber('down button', {}, '.rc-input-number-action-down', -1, 'down', 'handler');
5555
});
5656

5757
describe('empty with min & max', () => {
58-
testInputNumber('up button', { min: 6, max: 10 }, '.rc-input-number-handler-up', 6, 'up', 'handler');
58+
testInputNumber('up button', { min: 6, max: 10 }, '.rc-input-number-action-up', 6, 'up', 'handler');
5959

60-
testInputNumber('down button', { min: 6, max: 10 }, '.rc-input-number-handler-down', 6, 'down', 'handler');
60+
testInputNumber('down button', { min: 6, max: 10 }, '.rc-input-number-action-down', 6, 'down', 'handler');
6161
});
6262

6363
describe('null with min & max', () => {
6464
testInputNumber(
6565
'up button',
6666
{ value: null, min: 6, max: 10 },
67-
'.rc-input-number-handler-up',
67+
'.rc-input-number-action-up',
6868
6,
6969
'up',
7070
'handler',
@@ -73,7 +73,7 @@ describe('InputNumber.Click', () => {
7373
testInputNumber(
7474
'down button',
7575
{ value: null, min: 6, max: 10 },
76-
'.rc-input-number-handler-down',
76+
'.rc-input-number-action-down',
7777
6,
7878
'down',
7979
'handler',
@@ -83,18 +83,18 @@ describe('InputNumber.Click', () => {
8383
describe('disabled', () => {
8484
it('none', () => {
8585
const { container } = render(<InputNumber value={5} min={3} max={9} />);
86-
expect(container.querySelector('.rc-input-number-handler-up-disabled')).toBeFalsy();
87-
expect(container.querySelector('.rc-input-number-handler-down-disabled')).toBeFalsy();
86+
expect(container.querySelector('.rc-input-number-action-up-disabled')).toBeFalsy();
87+
expect(container.querySelector('.rc-input-number-action-down-disabled')).toBeFalsy();
8888
});
8989

9090
it('min', () => {
9191
const { container } = render(<InputNumber value={3} min={3} max={9} />);
92-
expect(container.querySelector('.rc-input-number-handler-down-disabled')).toBeTruthy();
92+
expect(container.querySelector('.rc-input-number-action-down-disabled')).toBeTruthy();
9393
});
9494

9595
it('max', () => {
9696
const { container } = render(<InputNumber value={9} min={3} max={9} />);
97-
expect(container.querySelector('.rc-input-number-handler-up-disabled')).toBeTruthy();
97+
expect(container.querySelector('.rc-input-number-action-up-disabled')).toBeTruthy();
9898
});
9999
});
100100

@@ -104,10 +104,10 @@ describe('InputNumber.Click', () => {
104104

105105
const onChange = jest.fn();
106106
const { container } = render(<InputNumber defaultValue={1e24} onChange={onChange} />);
107-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
107+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
108108
expect(onChange).toHaveBeenCalledWith(Number.MAX_SAFE_INTEGER);
109109

110-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
110+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
111111
expect(onChange).toHaveBeenCalledWith(Number.MAX_SAFE_INTEGER - 1);
112112

113113
supportBigInt.mockRestore();
@@ -118,10 +118,10 @@ describe('InputNumber.Click', () => {
118118

119119
const onChange = jest.fn();
120120
const { container } = render(<InputNumber defaultValue={-1e25} onChange={onChange} />);
121-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
121+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
122122
expect(onChange).toHaveBeenCalledWith(Number.MIN_SAFE_INTEGER);
123123

124-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
124+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
125125
expect(onChange).toHaveBeenCalledWith(Number.MIN_SAFE_INTEGER + 1);
126126

127127
supportBigInt.mockRestore();
@@ -132,7 +132,7 @@ describe('InputNumber.Click', () => {
132132
const { container } = render(
133133
<InputNumber stringMode defaultValue={1e24} onChange={onChange} />,
134134
);
135-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
135+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
136136
expect(onChange).toHaveBeenCalledWith('999999999999999983222785');
137137
});
138138

@@ -141,7 +141,7 @@ describe('InputNumber.Click', () => {
141141
const { container } = render(
142142
<InputNumber stringMode defaultValue={-1e25} onChange={onChange} />,
143143
);
144-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
144+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
145145
expect(onChange).toHaveBeenCalledWith('-10000000000000000905969665');
146146
});
147147
});
@@ -153,7 +153,7 @@ describe('InputNumber.Click', () => {
153153
const onBlur = jest.fn();
154154
const { container } = render(<InputNumber onFocus={onFocus} onBlur={onBlur} />);
155155

156-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
156+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
157157
act(() => {
158158
jest.advanceTimersByTime(100);
159159
});

tests/decimal.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ describe('InputNumber.Decimal', () => {
1515

1616
it('increase and decrease decimal InputNumber by integer step', () => {
1717
const { container } = render(<InputNumber step={1} defaultValue={2.1} />);
18-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
18+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
1919
expect(container.querySelector('input').value).toEqual('3.1');
20-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
20+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
2121
expect(container.querySelector('input').value).toEqual('2.1');
2222
});
2323

@@ -44,7 +44,7 @@ describe('InputNumber.Decimal', () => {
4444

4545
for (let i = 0; i < 10; i += 1) {
4646
// plus until change precision
47-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
47+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
4848
}
4949

5050
fireEvent.blur(input);
@@ -60,7 +60,7 @@ describe('InputNumber.Decimal', () => {
6060
const { container } = render(<InputNumber step={0.1} />);
6161
expect(container.querySelector('input').value).toEqual('');
6262

63-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
63+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
6464
expect(container.querySelector('input').value).toEqual('0.1');
6565
});
6666

tests/formatter.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ describe('InputNumber.Formatter', () => {
1515
it('formatter on mousedown', () => {
1616
const { container } = render(<InputNumber defaultValue={5} formatter={(num) => `$ ${num}`} />);
1717
const input = container.querySelector('input');
18-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
18+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
1919
expect(input.value).toEqual('$ 6');
2020

21-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
21+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
2222
expect(input.value).toEqual('$ 5');
2323
});
2424

@@ -94,7 +94,7 @@ describe('InputNumber.Formatter', () => {
9494
expect(input.value).toEqual('$ 5 boeing 737');
9595
expect(onChange).toHaveBeenLastCalledWith(5);
9696

97-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'), {
97+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'), {
9898
which: KeyCode.DOWN,
9999
});
100100
expect(input.value).toEqual('$ 6 boeing 737');

tests/github.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ describe('InputNumber.Github', () => {
6868
fireEvent.focus(input);
6969

7070
fireEvent.change(input, { target: { value: 'foo' } });
71-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
71+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
7272

7373
expect(input.value).toEqual('2');
7474
});
@@ -121,7 +121,7 @@ describe('InputNumber.Github', () => {
121121
it('long press not trigger onChange in uncontrolled component', () => {
122122
const onChange = jest.fn();
123123
const { container } = render(<InputNumber defaultValue={0} onChange={onChange} />);
124-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
124+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
125125

126126
act(() => {
127127
jest.advanceTimersByTime(500);
@@ -519,7 +519,7 @@ describe('InputNumber.Github', () => {
519519
const { container, rerender } = render(<Demo />);
520520
const input = container.querySelector('input');
521521
// Click
522-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
522+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
523523
expect(input.value).toEqual('8');
524524

525525
// Keyboard change

tests/input.test.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,7 @@ describe('InputNumber.Input', () => {
234234
it('wrapper', () => {
235235
const ref = React.createRef<InputNumberRef>();
236236
const { container } = render(<InputNumber ref={ref} suffix="suffix" />);
237-
expect(ref.current.nativeElement).toBe(
238-
container.querySelector('.rc-input-number-affix-wrapper'),
239-
);
237+
expect(ref.current.nativeElement).toBe(container.querySelector('.rc-input-number'));
240238
});
241239
});
242240
});

tests/longPress.test.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('InputNumber.LongPress', () => {
1616
it('up button works', async () => {
1717
const onChange = jest.fn();
1818
const { container } = render(<InputNumber defaultValue={20} onChange={onChange} />);
19-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
19+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
2020
act(() => {
2121
jest.advanceTimersByTime(600 + 200 * 5 + 100);
2222
});
@@ -26,7 +26,7 @@ describe('InputNumber.LongPress', () => {
2626
it('down button works', async () => {
2727
const onChange = jest.fn();
2828
const { container } = render(<InputNumber defaultValue={20} onChange={onChange} />);
29-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-down'));
29+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-down'));
3030

3131
act(() => {
3232
jest.advanceTimersByTime(600 + 200 * 5 + 100);
@@ -37,27 +37,27 @@ describe('InputNumber.LongPress', () => {
3737
it('Simulates event calls out of order in Safari', async () => {
3838
const onChange = jest.fn();
3939
const { container } = render(<InputNumber defaultValue={20} onChange={onChange} />);
40-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
40+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
4141
act(() => {
4242
jest.advanceTimersByTime(10);
4343
});
44-
fireEvent.mouseUp(container.querySelector('.rc-input-number-handler-up'));
44+
fireEvent.mouseUp(container.querySelector('.rc-input-number-action-up'));
4545
act(() => {
4646
jest.advanceTimersByTime(10);
4747
});
48-
fireEvent.mouseUp(container.querySelector('.rc-input-number-handler-up'));
48+
fireEvent.mouseUp(container.querySelector('.rc-input-number-action-up'));
4949
act(() => {
5050
jest.advanceTimersByTime(10);
5151
});
52-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
52+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
5353
act(() => {
5454
jest.advanceTimersByTime(10);
5555
});
56-
fireEvent.mouseDown(container.querySelector('.rc-input-number-handler-up'));
56+
fireEvent.mouseDown(container.querySelector('.rc-input-number-action-up'));
5757
act(() => {
5858
jest.advanceTimersByTime(10);
5959
});
60-
fireEvent.mouseUp(container.querySelector('.rc-input-number-handler-up'));
60+
fireEvent.mouseUp(container.querySelector('.rc-input-number-action-up'));
6161

6262
act(() => {
6363
jest.advanceTimersByTime(600 + 200 * 5 + 100);

0 commit comments

Comments
 (0)