Skip to content

Commit 2071e63

Browse files
authored
fix: WeekPicker logic (#664)
* fix: weekpicker * test: update testcase * test: update testcase * test: rm block test
1 parent d91fbcd commit 2071e63

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

src/utils/dateUtil.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ export function isSameWeek<DateType>(
125125
}
126126

127127
return (
128+
isSameYear(generateConfig, date1!, date2!) &&
128129
generateConfig.locale.getWeek(locale, date1!) === generateConfig.locale.getWeek(locale, date2!)
129130
);
130131
}

tests/keyboard.spec.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ describe('Picker.Keyboard', () => {
478478
showTime
479479
onSelect={onSelect}
480480
onChange={onChange}
481-
disabledDate={date => date.date() % 2 === 0}
481+
disabledDate={(date) => date.date() % 2 === 0}
482482
/>,
483483
);
484484
wrapper.find('input').simulate('focus');
@@ -509,7 +509,7 @@ describe('Picker.Keyboard', () => {
509509
<MomentPickerPanel
510510
onSelect={onSelect}
511511
onChange={onChange}
512-
disabledDate={date => date.date() % 2 === 0}
512+
disabledDate={(date) => date.date() % 2 === 0}
513513
/>,
514514
);
515515

@@ -541,7 +541,7 @@ describe('Picker.Keyboard', () => {
541541
picker="month"
542542
onSelect={onSelect}
543543
onChange={onChange}
544-
disabledDate={date => date.month() < now.getMonth()}
544+
disabledDate={(date) => date.month() < now.getMonth()}
545545
/>,
546546
);
547547

tests/panel.spec.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { spyElementPrototypes } from 'rc-util/lib/test/domHook';
66
import { mount, getMoment, isSame, MomentPickerPanel } from './util/commonUtil';
77
import zhCN from '../src/locale/zh_CN';
88
import enUS from '../src/locale/en_US';
9+
import { fireEvent, render } from '@testing-library/react';
910

1011
describe('Picker.Panel', () => {
1112
beforeAll(() => {
@@ -569,4 +570,18 @@ describe('Picker.Panel', () => {
569570
});
570571
});
571572
});
573+
574+
it('week picker current should check year', () => {
575+
const { container } = render(
576+
<MomentPickerPanel picker="week" value={getMoment('1990-09-03')} />,
577+
);
578+
expect(
579+
container.querySelector('.rc-picker-week-panel-row-selected td[title="1990-09-03"]'),
580+
).toBeTruthy();
581+
582+
// Diff year
583+
fireEvent.click(container.querySelector('.rc-picker-header-super-next-btn'));
584+
expect(container.querySelector('td[title="1991-09-03"]')).toBeTruthy();
585+
expect(container.querySelector('.rc-picker-week-panel-row-selected')).toBeFalsy();
586+
});
572587
});

tests/picker.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ describe('Picker.Basic', () => {
133133
act(() => {
134134
fireEvent.mouseDown(document.body);
135135
});
136-
expect(onOpenChange).toHaveBeenCalledTimes(1);
136+
expect(onOpenChange).toHaveBeenCalledTimes(i + 1);
137137
}
138138
act(() => {
139139
jest.runAllTimers();

0 commit comments

Comments
 (0)