diff --git a/packages/components/calendar/__tests__/calendar.test.tsx b/packages/components/calendar/__tests__/calendar.test.tsx
index a0528a3dca..5353862d20 100644
--- a/packages/components/calendar/__tests__/calendar.test.tsx
+++ b/packages/components/calendar/__tests__/calendar.test.tsx
@@ -203,6 +203,27 @@ describe('Calendar.vue', () => {
expect(cell?.classList.contains('is-selected')).toBeTruthy()
})
+ it('range two years', async () => {
+ const wrapper = mount(() => (
+
+ ))
+ const titleEl = wrapper.find('.el-calendar__title')
+ expect(/2021.*December/.test(titleEl.element.innerHTML)).toBeTruthy()
+ const dateTables = wrapper.element.querySelectorAll(
+ '.el-calendar-table.is-range'
+ )
+ expect(dateTables.length).toBe(2)
+ const rows = wrapper.element.querySelectorAll('.el-calendar-table__row')
+ expect(rows.length).toBe(4)
+ const cell = rows[rows.length - 1].firstElementChild as HTMLElement
+ cell.click()
+
+ await nextTick()
+
+ expect(/2022.*January/.test(titleEl.element.innerHTML)).toBeTruthy()
+ expect(cell?.classList.contains('is-selected')).toBeTruthy()
+ })
+
it('slots', async () => {
const wrapper = mount(() => (