UNPKG

jalaliday

Version:

Persian (Jalali, Khorshidi) Plugin for Day.js

89 lines (76 loc) 2.8 kB
import dayjs from 'dayjs' import MockDate from 'mockdate' import { afterEach, beforeEach, expect, it } from 'vitest' import jalali from '../src/dayjs/plugin' dayjs.extend(jalali) dayjs.calendar('jalali') beforeEach(() => { MockDate.set(new Date()) }) afterEach(() => { MockDate.reset() }) it('subtract 1 ms', () => { const date = dayjs('1397/06/13', { jalali: true }) const date2 = date.subtract(1, 'ms') expect(date2.year()).toEqual(date.year()) expect(date2.month()).toEqual(date.month()) expect(date2.date()).toEqual(date.date() - 1) expect(date2.$ms).toEqual(999) }) it('subtract 1 day in the middle of the month', () => { const date = dayjs('1397/06/13', { jalali: true }) const date2 = date.subtract(1, 'day') expect(date2.year()).toEqual(date.year()) expect(date2.month()).toEqual(date.month()) expect(date2.date()).toEqual(date.date() - 1) }) it('subtract 1 day in the beginning of the month', () => { const date = dayjs('1397/06/01', { jalali: true }) const date2 = date.subtract(1, 'day') expect(date2.year()).toEqual(date.year()) expect(date2.month()).toEqual(date.month() - 1) expect(date2.date()).toEqual(31) }) it('subtract 1 month in the middle of the year', () => { const date = dayjs('1397/06/13', { jalali: true }) const date2 = date.subtract(1, 'month') expect(date2.year()).toEqual(date.year()) expect(date2.month()).toEqual(date.month() - 1) expect(date2.date()).toEqual(date.date()) }) it('subtract 18 months', () => { const date = dayjs('1397/06/13', { jalali: true }) const date2 = date.subtract(18, 'month') expect(date2.year()).toEqual(1395) expect(date2.month()).toEqual(11) expect(date2.date()).toEqual(date.date()) }) it('subtract 17 months', () => { const date = dayjs('1397/06/13', { jalali: true }) const date2 = date.subtract(17, 'month') expect(date2.year()).toEqual(1396) expect(date2.month()).toEqual(0) expect(date2.date()).toEqual(date.date()) }) it('subtract 1 month in the beginning of the year', () => { const date = dayjs('1397/01/13', { jalali: true }) const date2 = date.subtract(1, 'month') expect(date2.year()).toEqual(date.year() - 1) expect(date2.month()).toEqual(11) expect(date2.date()).toEqual(date.date()) }) it('subtract 1 month in the beginning of the year 2', () => { const date = dayjs('1397/01/01', { jalali: true }) const date2 = date.subtract(11, 'month') expect(date2.year()).toEqual(date.year() - 1) expect(date2.month()).toEqual(1) expect(date2.date()).toEqual(date.date()) }) it('subtract 1 year', () => { const date = dayjs('1397/01/13', { jalali: true }) const date2 = date.subtract(1, 'year') expect(date2.year()).toEqual(date.year() - 1) expect(date2.month()).toEqual(date.month()) expect(date2.date()).toEqual(date.date()) })