Skip to content

Commit d6c0e61

Browse files
authored
fix: resolve deprecated warning display unexpected issue (#615)
* fix: resolve deprecated warning display unexpected issue * feat: add test case
1 parent 6ac3a04 commit d6c0e61

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

src/PickerPanel.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ function PickerPanel<DateType>(props: PickerPanelProps<DateType>) {
179179
isSecondStepValid,
180180
`\`secondStep\` ${secondStep} is invalid. It should be a factor of 60.`,
181181
);
182-
warning(!!dateRender, `'dateRender' is deprecated. Please use 'cellRender' instead.`);
183-
warning(!!monthCellRender, `'monthCellRender' is deprecated. Please use 'cellRender' instead.`);
182+
warning(!dateRender, `'dateRender' is deprecated. Please use 'cellRender' instead.`);
183+
warning(!monthCellRender, `'monthCellRender' is deprecated. Please use 'cellRender' instead.`);
184184
}
185185

186186
// ============================ State =============================

src/RangePicker.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -778,8 +778,8 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
778778
'`disabled` should not set with empty `value`. You should set `allowEmpty` or `value` instead.',
779779
);
780780
}
781-
warning(!!dateRender, `'dateRender' is deprecated. Please use 'cellRender' instead.`);
782-
warning(!!monthCellRender, `'monthCellRender' is deprecated. Please use 'cellRender' instead.`);
781+
warning(!dateRender, `'dateRender' is deprecated. Please use 'cellRender' instead.`);
782+
warning(!monthCellRender, `'monthCellRender' is deprecated. Please use 'cellRender' instead.`);
783783
}
784784

785785
// ============================ Private ============================

tests/panel.spec.tsx

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import type { PanelMode } from '../src/interface';
21
import { fireEvent, render } from '@testing-library/react';
32
import type { Moment } from 'moment';
43
import moment from 'moment';
54
import { spyElementPrototypes } from 'rc-util/lib/test/domHook';
65
import { resetWarned } from 'rc-util/lib/warning';
76
import React from 'react';
7+
import type { PanelMode } from '../src/interface';
88
import enUS from '../src/locale/en_US';
99
import zhCN from '../src/locale/zh_CN';
1010
import {
@@ -475,7 +475,6 @@ describe('Picker.Panel', () => {
475475

476476
errSpy.mockRestore();
477477
});
478-
479478
it('should render correctly in rtl', () => {
480479
const { container } = render(<MomentPickerPanel direction="rtl" />);
481480
expect(container).toMatchSnapshot();
@@ -568,7 +567,15 @@ describe('Picker.Panel', () => {
568567
});
569568
});
570569

571-
const supportCellRenderPicker: PanelMode[] = ['year', 'month', 'date', 'quarter', 'week', 'time', 'decade'];
570+
const supportCellRenderPicker: PanelMode[] = [
571+
'year',
572+
'month',
573+
'date',
574+
'quarter',
575+
'week',
576+
'time',
577+
'decade',
578+
];
572579

573580
const getCurText = (picker: PanelMode, current: Moment | number) => {
574581
switch (picker) {
@@ -618,6 +625,28 @@ describe('Picker.Panel', () => {
618625
expect(container.querySelector(`.rc-picker-${picker}-panel`)).toBeTruthy();
619626
expect(container).toMatchSnapshot();
620627
});
628+
629+
it('warning with dateRender and monthCellRender', () => {
630+
resetWarned();
631+
const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
632+
633+
render(
634+
<MomentPickerPanel
635+
picker={picker as any}
636+
dateRender={(current) => (
637+
<div className="customWrapper">{getCurText(picker, current)}</div>
638+
)}
639+
monthCellRender={(current) => (
640+
<div className="customWrapper">{getCurText(picker, current)}</div>
641+
)}
642+
/>,
643+
);
644+
expect(errSpy).toHaveBeenCalledWith("Warning: 'dateRender' is deprecated. Please use 'cellRender' instead.");
645+
expect(errSpy).toHaveBeenCalledWith("Warning: 'monthCellRender' is deprecated. Please use 'cellRender' instead.");
646+
647+
errSpy.mockRestore();
648+
});
649+
621650
it(`append cell with cellRender in ${picker}`, () => {
622651
const App = () => (
623652
<MomentPickerPanel

0 commit comments

Comments
 (0)