@checkdigit/time 4.0.0-PR.18-81a3 → 4.0.0-PR.18-e0fa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/package.json +1 -1
- package/src/date-fns/_lib/addLeadingZeros/test.mts +0 -12
- package/src/date-fns/_lib/getRoundingMethod/test.mts +0 -50
- package/src/date-fns/_lib/getTimezoneOffsetInMilliseconds/test.mts +0 -25
- package/src/date-fns/add/test.mts +0 -95
- package/src/date-fns/addBusinessDays/test.mts +0 -78
- package/src/date-fns/addDays/test.mts +0 -90
- package/src/date-fns/addHours/test.mts +0 -30
- package/src/date-fns/addISOWeekYears/test.mts +0 -41
- package/src/date-fns/addMilliseconds/test.mts +0 -30
- package/src/date-fns/addMinutes/test.mts +0 -30
- package/src/date-fns/addMonths/test.mts +0 -123
- package/src/date-fns/addQuarters/test.mts +0 -47
- package/src/date-fns/addSeconds/test.mts +0 -30
- package/src/date-fns/addWeeks/test.mts +0 -30
- package/src/date-fns/addYears/test.mts +0 -46
- package/src/date-fns/areIntervalsOverlapping/test.mts +0 -231
- package/src/date-fns/clamp/test.mts +0 -36
- package/src/date-fns/closestIndexTo/test.mts +0 -51
- package/src/date-fns/closestTo/test.mts +0 -49
- package/src/date-fns/compareAsc/test.mts +0 -58
- package/src/date-fns/compareDesc/test.mts +0 -58
- package/src/date-fns/constructFrom/test.mts +0 -47
- package/src/date-fns/constructNow/test.mts +0 -37
- package/src/date-fns/daysToWeeks/test.mts +0 -36
- package/src/date-fns/differenceInBusinessDays/test.mts +0 -102
- package/src/date-fns/differenceInCalendarDays/test.mts +0 -206
- package/src/date-fns/differenceInCalendarISOWeekYears/test.mts +0 -93
- package/src/date-fns/differenceInCalendarISOWeeks/test.mts +0 -89
- package/src/date-fns/differenceInCalendarMonths/test.mts +0 -82
- package/src/date-fns/differenceInCalendarQuarters/test.mts +0 -82
- package/src/date-fns/differenceInCalendarWeeks/test.mts +0 -136
- package/src/date-fns/differenceInCalendarYears/test.mts +0 -82
- package/src/date-fns/differenceInDays/test.mts +0 -175
- package/src/date-fns/differenceInHours/test.mts +0 -122
- package/src/date-fns/differenceInISOWeekYears/test.mts +0 -93
- package/src/date-fns/differenceInMilliseconds/test.mts +0 -53
- package/src/date-fns/differenceInMinutes/test.mts +0 -123
- package/src/date-fns/differenceInMonths/test.mts +0 -121
- package/src/date-fns/differenceInQuarters/test.mts +0 -109
- package/src/date-fns/differenceInSeconds/test.mts +0 -144
- package/src/date-fns/differenceInWeeks/test.mts +0 -111
- package/src/date-fns/differenceInYears/test.mts +0 -97
- package/src/date-fns/eachDayOfInterval/test.mts +0 -164
- package/src/date-fns/eachHourOfInterval/test.mts +0 -154
- package/src/date-fns/eachMinuteOfInterval/test.mts +0 -159
- package/src/date-fns/eachMonthOfInterval/test.mts +0 -151
- package/src/date-fns/eachQuarterOfInterval/test.mts +0 -136
- package/src/date-fns/eachWeekOfInterval/test.mts +0 -177
- package/src/date-fns/eachWeekendOfInterval/test.mts +0 -67
- package/src/date-fns/eachWeekendOfMonth/test.mts +0 -23
- package/src/date-fns/eachWeekendOfYear/test.mts +0 -18
- package/src/date-fns/eachYearOfInterval/test.mts +0 -136
- package/src/date-fns/endOfDay/test.mts +0 -27
- package/src/date-fns/endOfDecade/test.mts +0 -32
- package/src/date-fns/endOfHour/test.mts +0 -26
- package/src/date-fns/endOfISOWeek/test.mts +0 -27
- package/src/date-fns/endOfISOWeekYear/test.mts +0 -36
- package/src/date-fns/endOfMinute/test.mts +0 -26
- package/src/date-fns/endOfMonth/test.mts +0 -41
- package/src/date-fns/endOfQuarter/test.mts +0 -27
- package/src/date-fns/endOfSecond/test.mts +0 -26
- package/src/date-fns/endOfToday/test.mts +0 -19
- package/src/date-fns/endOfTomorrow/test.mts +0 -29
- package/src/date-fns/endOfWeek/test.mts +0 -86
- package/src/date-fns/endOfYear/test.mts +0 -27
- package/src/date-fns/endOfYesterday/test.mts +0 -29
- package/src/date-fns/format/test.mts +0 -909
- package/src/date-fns/formatDistance/test.mts +0 -189
- package/src/date-fns/formatDistanceStrict/test.mts +0 -329
- package/src/date-fns/formatDistanceToNow/test.mts +0 -196
- package/src/date-fns/formatDistanceToNowStrict/test.mts +0 -293
- package/src/date-fns/formatDuration/test.mts +0 -74
- package/src/date-fns/formatISO/test.mts +0 -55
- package/src/date-fns/formatISO9075/test.mts +0 -35
- package/src/date-fns/formatISODuration/test.mts +0 -75
- package/src/date-fns/formatRFC3339/test.mts +0 -41
- package/src/date-fns/formatRFC7231/test.mts +0 -18
- package/src/date-fns/formatRelative/test.mts +0 -92
- package/src/date-fns/fp/_lib/convertToFP/test.mts +0 -114
- package/src/date-fns/fromUnixTime/test.mts +0 -14
- package/src/date-fns/getDate/test.mts +0 -19
- package/src/date-fns/getDay/test.mts +0 -19
- package/src/date-fns/getDayOfYear/test.mts +0 -27
- package/src/date-fns/getDaysInMonth/test.mts +0 -33
- package/src/date-fns/getDaysInYear/test.mts +0 -35
- package/src/date-fns/getDecade/test.mts +0 -24
- package/src/date-fns/getDefaultOptions/test.mts +0 -58
- package/src/date-fns/getHours/test.mts +0 -19
- package/src/date-fns/getISODay/test.mts +0 -24
- package/src/date-fns/getISOWeek/test.mts +0 -54
- package/src/date-fns/getISOWeekYear/test.mts +0 -27
- package/src/date-fns/getISOWeeksInYear/test.mts +0 -37
- package/src/date-fns/getMilliseconds/test.mts +0 -19
- package/src/date-fns/getMinutes/test.mts +0 -19
- package/src/date-fns/getMonth/test.mts +0 -19
- package/src/date-fns/getOverlappingDaysInIntervals/test.mts +0 -243
- package/src/date-fns/getQuarter/test.mts +0 -19
- package/src/date-fns/getSeconds/test.mts +0 -19
- package/src/date-fns/getTime/test.mts +0 -21
- package/src/date-fns/getUnixTime/test.mts +0 -26
- package/src/date-fns/getWeek/test.mts +0 -56
- package/src/date-fns/getWeekOfMonth/test.mts +0 -75
- package/src/date-fns/getWeekYear/test.mts +0 -49
- package/src/date-fns/getWeeksInMonth/test.mts +0 -51
- package/src/date-fns/getYear/test.mts +0 -19
- package/src/date-fns/hoursToMilliseconds/test.mts +0 -23
- package/src/date-fns/hoursToMinutes/test.mts +0 -25
- package/src/date-fns/hoursToSeconds/test.mts +0 -25
- package/src/date-fns/interval/test.mts +0 -42
- package/src/date-fns/intervalToDuration/test.mts +0 -235
- package/src/date-fns/intlFormat/test.mts +0 -88
- package/src/date-fns/intlFormatDistance/test.mts +0 -588
- package/src/date-fns/isAfter/test.mts +0 -39
- package/src/date-fns/isBefore/test.mts +0 -39
- package/src/date-fns/isDate/test.mts +0 -72
- package/src/date-fns/isEqual/test.mts +0 -34
- package/src/date-fns/isExists/test.mts +0 -14
- package/src/date-fns/isFirstDayOfMonth/test.mts +0 -25
- package/src/date-fns/isFriday/test.mts +0 -24
- package/src/date-fns/isFuture/test.mts +0 -34
- package/src/date-fns/isLastDayOfMonth/test.mts +0 -25
- package/src/date-fns/isLeapYear/test.mts +0 -35
- package/src/date-fns/isMatch/test.mts +0 -27
- package/src/date-fns/isMonday/test.mts +0 -24
- package/src/date-fns/isPast/test.mts +0 -34
- package/src/date-fns/isSameDay/test.mts +0 -37
- package/src/date-fns/isSameHour/test.mts +0 -37
- package/src/date-fns/isSameISOWeek/test.mts +0 -34
- package/src/date-fns/isSameISOWeekYear/test.mts +0 -48
- package/src/date-fns/isSameMinute/test.mts +0 -37
- package/src/date-fns/isSameMonth/test.mts +0 -34
- package/src/date-fns/isSameQuarter/test.mts +0 -34
- package/src/date-fns/isSameSecond/test.mts +0 -43
- package/src/date-fns/isSameWeek/test.mts +0 -58
- package/src/date-fns/isSameYear/test.mts +0 -34
- package/src/date-fns/isSaturday/test.mts +0 -24
- package/src/date-fns/isSunday/test.mts +0 -24
- package/src/date-fns/isThisHour/test.mts +0 -34
- package/src/date-fns/isThisISOWeek/test.mts +0 -34
- package/src/date-fns/isThisMinute/test.mts +0 -34
- package/src/date-fns/isThisMonth/test.mts +0 -34
- package/src/date-fns/isThisQuarter/test.mts +0 -34
- package/src/date-fns/isThisSecond/test.mts +0 -34
- package/src/date-fns/isThisWeek/test.mts +0 -39
- package/src/date-fns/isThisYear/test.mts +0 -34
- package/src/date-fns/isThursday/test.mts +0 -24
- package/src/date-fns/isToday/test.mts +0 -34
- package/src/date-fns/isTomorrow/test.mts +0 -34
- package/src/date-fns/isTuesday/test.mts +0 -24
- package/src/date-fns/isValid/test.mts +0 -24
- package/src/date-fns/isWednesday/test.mts +0 -24
- package/src/date-fns/isWeekend/test.mts +0 -24
- package/src/date-fns/isWithinInterval/test.mts +0 -92
- package/src/date-fns/isYesterday/test.mts +0 -34
- package/src/date-fns/lastDayOfDecade/test.mts +0 -32
- package/src/date-fns/lastDayOfISOWeek/test.mts +0 -27
- package/src/date-fns/lastDayOfISOWeekYear/test.mts +0 -36
- package/src/date-fns/lastDayOfMonth/test.mts +0 -41
- package/src/date-fns/lastDayOfQuarter/test.mts +0 -27
- package/src/date-fns/lastDayOfWeek/test.mts +0 -86
- package/src/date-fns/lastDayOfYear/test.mts +0 -27
- package/src/date-fns/lightFormat/test.mts +0 -126
- package/src/date-fns/max/test.mts +0 -34
- package/src/date-fns/milliseconds/test.mts +0 -62
- package/src/date-fns/millisecondsToHours/test.mts +0 -24
- package/src/date-fns/millisecondsToMinutes/test.mts +0 -24
- package/src/date-fns/millisecondsToSeconds/test.mts +0 -24
- package/src/date-fns/min/test.mts +0 -34
- package/src/date-fns/minutesToHours/test.mts +0 -24
- package/src/date-fns/minutesToMilliseconds/test.mts +0 -23
- package/src/date-fns/minutesToSeconds/test.mts +0 -23
- package/src/date-fns/monthsToQuarters/test.mts +0 -24
- package/src/date-fns/monthsToYears/test.mts +0 -24
- package/src/date-fns/nextDay/test.mts +0 -44
- package/src/date-fns/nextFriday/test.mts +0 -24
- package/src/date-fns/nextMonday/test.mts +0 -24
- package/src/date-fns/nextSaturday/test.mts +0 -24
- package/src/date-fns/nextSunday/test.mts +0 -24
- package/src/date-fns/nextThursday/test.mts +0 -24
- package/src/date-fns/nextTuesday/test.mts +0 -23
- package/src/date-fns/nextWednesday/test.mts +0 -24
- package/src/date-fns/parse/test.mts +0 -2202
- package/src/date-fns/parseISO/test.mts +0 -362
- package/src/date-fns/parseJSON/test.mts +0 -129
- package/src/date-fns/previousDay/test.mts +0 -42
- package/src/date-fns/previousFriday/test.mts +0 -22
- package/src/date-fns/previousMonday/test.mts +0 -22
- package/src/date-fns/previousSaturday/test.mts +0 -22
- package/src/date-fns/previousSunday/test.mts +0 -22
- package/src/date-fns/previousThursday/test.mts +0 -22
- package/src/date-fns/previousTuesday/test.mts +0 -22
- package/src/date-fns/previousWednesday/test.mts +0 -22
- package/src/date-fns/quartersToMonths/test.mts +0 -24
- package/src/date-fns/quartersToYears/test.mts +0 -24
- package/src/date-fns/roundToNearestHours/test.mts +0 -200
- package/src/date-fns/roundToNearestMinutes/test.mts +0 -208
- package/src/date-fns/secondsToHours/test.mts +0 -24
- package/src/date-fns/secondsToMilliseconds/test.mts +0 -14
- package/src/date-fns/secondsToMinutes/test.mts +0 -24
- package/src/date-fns/set/test.mts +0 -121
- package/src/date-fns/setDate/test.mts +0 -30
- package/src/date-fns/setDay/test.mts +0 -112
- package/src/date-fns/setDayOfYear/test.mts +0 -30
- package/src/date-fns/setDefaultOptions/test.mts +0 -498
- package/src/date-fns/setHours/test.mts +0 -30
- package/src/date-fns/setISODay/test.mts +0 -59
- package/src/date-fns/setISOWeek/test.mts +0 -41
- package/src/date-fns/setISOWeekYear/test.mts +0 -50
- package/src/date-fns/setMilliseconds/test.mts +0 -30
- package/src/date-fns/setMinutes/test.mts +0 -30
- package/src/date-fns/setMonth/test.mts +0 -46
- package/src/date-fns/setQuarter/test.mts +0 -46
- package/src/date-fns/setSeconds/test.mts +0 -30
- package/src/date-fns/setWeek/test.mts +0 -63
- package/src/date-fns/setWeekYear/test.mts +0 -72
- package/src/date-fns/setYear/test.mts +0 -30
- package/src/date-fns/startOfDay/test.mts +0 -27
- package/src/date-fns/startOfDecade/test.mts +0 -32
- package/src/date-fns/startOfHour/test.mts +0 -27
- package/src/date-fns/startOfISOWeek/test.mts +0 -27
- package/src/date-fns/startOfISOWeekYear/test.mts +0 -41
- package/src/date-fns/startOfMinute/test.mts +0 -27
- package/src/date-fns/startOfMonth/test.mts +0 -27
- package/src/date-fns/startOfQuarter/test.mts +0 -27
- package/src/date-fns/startOfSecond/test.mts +0 -27
- package/src/date-fns/startOfToday/test.mts +0 -19
- package/src/date-fns/startOfTomorrow/test.mts +0 -29
- package/src/date-fns/startOfWeek/test.mts +0 -86
- package/src/date-fns/startOfWeekYear/test.mts +0 -58
- package/src/date-fns/startOfYear/test.mts +0 -38
- package/src/date-fns/startOfYesterday/test.mts +0 -29
- package/src/date-fns/sub/test.mts +0 -83
- package/src/date-fns/subBusinessDays/test.mts +0 -40
- package/src/date-fns/subDays/test.mts +0 -30
- package/src/date-fns/subHours/test.mts +0 -30
- package/src/date-fns/subISOWeekYears/test.mts +0 -41
- package/src/date-fns/subMilliseconds/test.mts +0 -30
- package/src/date-fns/subMinutes/test.mts +0 -30
- package/src/date-fns/subMonths/test.mts +0 -47
- package/src/date-fns/subQuarters/test.mts +0 -47
- package/src/date-fns/subSeconds/test.mts +0 -30
- package/src/date-fns/subWeeks/test.mts +0 -30
- package/src/date-fns/subYears/test.mts +0 -46
- package/src/date-fns/toDate/test.mts +0 -35
- package/src/date-fns/weeksToDays/test.mts +0 -24
- package/src/date-fns/yearsToDays/test.mts +0 -24
- package/src/date-fns/yearsToMonths/test.mts +0 -24
- package/src/date-fns/yearsToQuarters/test.mts +0 -24
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { setDate } from './index';
|
|
3
|
-
|
|
4
|
-
describe('setDate', () => {
|
|
5
|
-
it('sets the day of the month', () => {
|
|
6
|
-
const result = setDate(new Date(2014, 8 /* Sep */, 1), 30);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = setDate(new Date(2014, 8 /* Sep */, 1).getTime(), 25);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 25));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
17
|
-
setDate(date, 20);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = setDate(new Date(NaN), 30);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = setDate(new Date(2014, 8 /* Sep */, 1), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { setDay } from './index';
|
|
3
|
-
|
|
4
|
-
describe('setDay', () => {
|
|
5
|
-
it('sets the day of the week', () => {
|
|
6
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 0);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 31));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('allows to specify which day is the first day of the week', () => {
|
|
11
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 0, {
|
|
12
|
-
weekStartsOn: 1,
|
|
13
|
-
});
|
|
14
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('allows to specify which day is the first day of the week in locale', () => {
|
|
18
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 0, {
|
|
19
|
-
locale: {
|
|
20
|
-
options: { weekStartsOn: 1 },
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('`options.weekStartsOn` overwrites the first day of the week specified in locale', () => {
|
|
27
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 0, {
|
|
28
|
-
weekStartsOn: 1,
|
|
29
|
-
locale: {
|
|
30
|
-
options: { weekStartsOn: 0 },
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it('specifies Monday as the first day of the week', () => {
|
|
37
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 6), 1, {
|
|
38
|
-
weekStartsOn: 1,
|
|
39
|
-
});
|
|
40
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('specifies Tuesday as the first day of the week', () => {
|
|
44
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 6), 1, {
|
|
45
|
-
weekStartsOn: 2,
|
|
46
|
-
});
|
|
47
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 8));
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
describe('the day index is more than 6', () => {
|
|
51
|
-
it('sets the day of the next week', () => {
|
|
52
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 8);
|
|
53
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 8));
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it('allows to specify which day is the first day of the week', () => {
|
|
57
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 7, {
|
|
58
|
-
weekStartsOn: 1,
|
|
59
|
-
});
|
|
60
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 8));
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it('sets the day of another week in the future', () => {
|
|
64
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), 14, {
|
|
65
|
-
weekStartsOn: 1,
|
|
66
|
-
});
|
|
67
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 15));
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
describe('the day index is less than 0', () => {
|
|
72
|
-
it('sets the day of the last week', () => {
|
|
73
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), -6);
|
|
74
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 25));
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('allows to specify which day is the first day of the week', () => {
|
|
78
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), -7, {
|
|
79
|
-
weekStartsOn: 1,
|
|
80
|
-
});
|
|
81
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 25));
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
it('set the day of another week in the past', () => {
|
|
85
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), -14, {
|
|
86
|
-
weekStartsOn: 1,
|
|
87
|
-
});
|
|
88
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 18));
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
it('accepts a timestamp', () => {
|
|
93
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1).getTime(), 3);
|
|
94
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 3));
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('does not mutate the original date', () => {
|
|
98
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
99
|
-
setDay(date, 3);
|
|
100
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
104
|
-
const result = setDay(new Date(NaN), 0);
|
|
105
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
109
|
-
const result = setDay(new Date(2014, 8 /* Sep */, 1), NaN);
|
|
110
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { setDayOfYear } from './index';
|
|
3
|
-
|
|
4
|
-
describe('setDayOfYear', () => {
|
|
5
|
-
it('sets the day of the year', () => {
|
|
6
|
-
const result = setDayOfYear(new Date(2014, 6 /* Jul */, 2), 2);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 0 /* Jan */, 2));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = setDayOfYear(new Date(2014, 6 /* Jul */, 2).getTime(), 60);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 2 /* Mar */, 1));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 6 /* Jul */, 2);
|
|
17
|
-
setDayOfYear(date, 365);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 6 /* Jul */, 2));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = setDayOfYear(new Date(NaN), 2);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = setDayOfYear(new Date(2014, 6 /* Jul */, 2), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,498 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeAll, describe, expect, it } from 'vitest';
|
|
2
|
-
import { setDefaultOptions } from './index';
|
|
3
|
-
import type { DefaultOptions } from '../_lib/defaultOptions/index';
|
|
4
|
-
import { getDefaultOptions as getInternalDefaultOptions } from '../_lib/defaultOptions/index';
|
|
5
|
-
import { enUS } from '../locale/en-US/index';
|
|
6
|
-
import { differenceInCalendarWeeks } from '../differenceInCalendarWeeks/index';
|
|
7
|
-
import { eachWeekOfInterval } from '../eachWeekOfInterval/index';
|
|
8
|
-
import { endOfWeek } from '../endOfWeek/index';
|
|
9
|
-
import { format } from '../format/index';
|
|
10
|
-
import { formatDistance } from '../formatDistance/index';
|
|
11
|
-
import { formatDistanceStrict } from '../formatDistanceStrict/index';
|
|
12
|
-
import { formatDuration } from '../formatDuration/index';
|
|
13
|
-
import { formatRelative } from '../formatRelative/index';
|
|
14
|
-
import { getWeek } from '../getWeek/index';
|
|
15
|
-
import { getWeekOfMonth } from '../getWeekOfMonth/index';
|
|
16
|
-
import { getWeeksInMonth } from '../getWeeksInMonth/index';
|
|
17
|
-
import { getWeekYear } from '../getWeekYear/index';
|
|
18
|
-
import { isMatch } from '../isMatch/index';
|
|
19
|
-
import { isSameWeek } from '../isSameWeek/index';
|
|
20
|
-
import { lastDayOfWeek } from '../lastDayOfWeek/index';
|
|
21
|
-
import { parse } from '../parse/index';
|
|
22
|
-
import { setDay } from '../setDay/index';
|
|
23
|
-
import { setWeek } from '../setWeek/index';
|
|
24
|
-
import { setWeekYear } from '../setWeekYear/index';
|
|
25
|
-
import { startOfWeek } from '../startOfWeek/index';
|
|
26
|
-
import { startOfWeekYear } from '../startOfWeekYear/index';
|
|
27
|
-
import { resetDefaultOptions } from '../_lib/test/index';
|
|
28
|
-
import { Locale } from '../types';
|
|
29
|
-
import { before } from 'node:test';
|
|
30
|
-
|
|
31
|
-
describe.skip('setDefaultOptions', () => {
|
|
32
|
-
afterEach(resetDefaultOptions);
|
|
33
|
-
|
|
34
|
-
let eo: Locale;
|
|
35
|
-
beforeAll(async () => {
|
|
36
|
-
// @ts-expect-error
|
|
37
|
-
({ eo } = await import('../locale/eo/index'));
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('changes the internal `defaultOptions` object', () => {
|
|
41
|
-
setDefaultOptions({
|
|
42
|
-
weekStartsOn: 1,
|
|
43
|
-
firstWeekContainsDate: 4,
|
|
44
|
-
locale: eo,
|
|
45
|
-
});
|
|
46
|
-
expect(getInternalDefaultOptions()).toEqual({
|
|
47
|
-
weekStartsOn: 1,
|
|
48
|
-
firstWeekContainsDate: 4,
|
|
49
|
-
locale: eo,
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('merges with previous `defaultOptions` calls', () => {
|
|
54
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
55
|
-
setDefaultOptions({ firstWeekContainsDate: 4 });
|
|
56
|
-
setDefaultOptions({ locale: eo });
|
|
57
|
-
expect(getInternalDefaultOptions()).toEqual({
|
|
58
|
-
weekStartsOn: 1,
|
|
59
|
-
firstWeekContainsDate: 4,
|
|
60
|
-
locale: eo,
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('setting an option to `undefined` deletes it', () => {
|
|
65
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
66
|
-
setDefaultOptions({ weekStartsOn: undefined });
|
|
67
|
-
expect(getInternalDefaultOptions()).toEqual({
|
|
68
|
-
firstWeekContainsDate: 4,
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it('does not mutate the argument', () => {
|
|
73
|
-
const argument: DefaultOptions = { weekStartsOn: 1 };
|
|
74
|
-
setDefaultOptions(argument);
|
|
75
|
-
expect(argument).toEqual({ weekStartsOn: 1 });
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
describe('locale', () => {
|
|
79
|
-
it('format', () => {
|
|
80
|
-
// For reference: not setting any options
|
|
81
|
-
expect(format(new Date(2014, 0, 1), 'PPPpp')).toEqual('January 1st, 2014 at 12:00:00 AM');
|
|
82
|
-
|
|
83
|
-
setDefaultOptions({ locale: eo });
|
|
84
|
-
|
|
85
|
-
expect(format(new Date(2014, 0, 1), 'PPPpp')).toEqual('2014-januaro-01 00:00:00');
|
|
86
|
-
|
|
87
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
88
|
-
expect(format(new Date(2014, 0, 1), 'PPPpp', { locale: enUS })).toEqual('January 1st, 2014 at 12:00:00 AM');
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
it('formatDistance', () => {
|
|
92
|
-
// For reference: not setting any options
|
|
93
|
-
expect(formatDistance(new Date(2014, 0, 1), new Date(2015, 0, 1))).toEqual('about 1 year');
|
|
94
|
-
|
|
95
|
-
setDefaultOptions({ locale: eo });
|
|
96
|
-
|
|
97
|
-
expect(formatDistance(new Date(2014, 0, 1), new Date(2015, 0, 1))).toEqual('proksimume 1 jaro');
|
|
98
|
-
|
|
99
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
100
|
-
expect(
|
|
101
|
-
formatDistance(new Date(2014, 0, 1), new Date(2015, 0, 1), {
|
|
102
|
-
locale: enUS,
|
|
103
|
-
}),
|
|
104
|
-
).toEqual('about 1 year');
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
it('formatDistanceStrict', () => {
|
|
108
|
-
// For reference: not setting any options
|
|
109
|
-
expect(formatDistanceStrict(new Date(2014, 0, 1), new Date(2015, 0, 1))).toEqual('1 year');
|
|
110
|
-
|
|
111
|
-
setDefaultOptions({ locale: eo });
|
|
112
|
-
|
|
113
|
-
expect(formatDistanceStrict(new Date(2014, 0, 1), new Date(2015, 0, 1))).toEqual('1 jaro');
|
|
114
|
-
|
|
115
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
116
|
-
expect(
|
|
117
|
-
formatDistanceStrict(new Date(2014, 0, 1), new Date(2015, 0, 1), {
|
|
118
|
-
locale: enUS,
|
|
119
|
-
}),
|
|
120
|
-
).toEqual('1 year');
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
it('formatDuration', () => {
|
|
124
|
-
// For reference: not setting any options
|
|
125
|
-
expect(formatDuration({ years: 1 })).toEqual('1 year');
|
|
126
|
-
|
|
127
|
-
setDefaultOptions({ locale: eo });
|
|
128
|
-
|
|
129
|
-
expect(formatDuration({ years: 1 })).toEqual('1 jaro');
|
|
130
|
-
|
|
131
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
132
|
-
expect(formatDuration({ years: 1 }, { locale: enUS })).toEqual('1 year');
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
it('formatRelative', () => {
|
|
136
|
-
// For reference: not setting any options
|
|
137
|
-
expect(formatRelative(new Date(2014, 0, 1), new Date(2014, 0, 2))).toEqual('yesterday at 12:00 AM');
|
|
138
|
-
|
|
139
|
-
setDefaultOptions({ locale: eo });
|
|
140
|
-
|
|
141
|
-
expect(formatRelative(new Date(2014, 0, 1), new Date(2014, 0, 2))).toEqual('hieraŭ je 00:00');
|
|
142
|
-
|
|
143
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
144
|
-
expect(
|
|
145
|
-
formatRelative(new Date(2014, 0, 1), new Date(2014, 0, 2), {
|
|
146
|
-
locale: enUS,
|
|
147
|
-
}),
|
|
148
|
-
).toEqual('yesterday at 12:00 AM');
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
it('isMatch', () => {
|
|
152
|
-
// For reference: not setting any options
|
|
153
|
-
expect(isMatch('January 1st, 2014 at 12:00:00 AM', 'PPPpp')).toBe(true);
|
|
154
|
-
|
|
155
|
-
setDefaultOptions({ locale: eo });
|
|
156
|
-
|
|
157
|
-
expect(isMatch('2014-januaro-01 00:00:00', 'PPPpp')).toBe(true);
|
|
158
|
-
|
|
159
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
160
|
-
expect(isMatch('January 1st, 2014 at 12:00:00 AM', 'PPPpp', { locale: enUS })).toBe(true);
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
it('parse', () => {
|
|
164
|
-
// For reference: not setting any options
|
|
165
|
-
expect(parse('January 1st, 2014 at 12:00:00 AM', 'PPPpp', new Date())).toEqual(new Date(2014, 0, 1));
|
|
166
|
-
|
|
167
|
-
setDefaultOptions({ locale: eo });
|
|
168
|
-
|
|
169
|
-
expect(parse('2014-januaro-01 00:00:00', 'PPPpp', new Date())).toEqual(new Date(2014, 0, 1));
|
|
170
|
-
|
|
171
|
-
// Manually set `locale` take priority over `defaultOptions.locale`
|
|
172
|
-
expect(
|
|
173
|
-
parse('January 1st, 2014 at 12:00:00 AM', 'PPPpp', new Date(), {
|
|
174
|
-
locale: enUS,
|
|
175
|
-
}),
|
|
176
|
-
).toEqual(new Date(2014, 0, 1));
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
describe('weekStartsOn', () => {
|
|
181
|
-
it('differenceInCalendarWeeks', () => {
|
|
182
|
-
// For reference: not setting any options
|
|
183
|
-
expect(
|
|
184
|
-
differenceInCalendarWeeks(new Date(2014, 6 /* Jul */, 8, 18, 0), new Date(2014, 5 /* Jun */, 29, 6, 0)),
|
|
185
|
-
).toBe(1);
|
|
186
|
-
|
|
187
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
188
|
-
|
|
189
|
-
expect(
|
|
190
|
-
differenceInCalendarWeeks(new Date(2014, 6 /* Jul */, 8, 18, 0), new Date(2014, 5 /* Jun */, 29, 6, 0)),
|
|
191
|
-
).toBe(2);
|
|
192
|
-
|
|
193
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
194
|
-
expect(
|
|
195
|
-
differenceInCalendarWeeks(new Date(2014, 6 /* Jul */, 8, 18, 0), new Date(2014, 5 /* Jun */, 29, 6, 0), {
|
|
196
|
-
weekStartsOn: 0,
|
|
197
|
-
}),
|
|
198
|
-
).toBe(1);
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
it('eachWeekOfInterval', () => {
|
|
202
|
-
// For reference: not setting any options
|
|
203
|
-
expect(
|
|
204
|
-
eachWeekOfInterval({
|
|
205
|
-
start: new Date(2014, 9 /* Oct */, 6),
|
|
206
|
-
end: new Date(2014, 10 /* Nov */, 23),
|
|
207
|
-
}),
|
|
208
|
-
).toEqual([
|
|
209
|
-
new Date(2014, 9 /* Oct */, 5),
|
|
210
|
-
new Date(2014, 9 /* Oct */, 12),
|
|
211
|
-
new Date(2014, 9 /* Oct */, 19),
|
|
212
|
-
new Date(2014, 9 /* Oct */, 26),
|
|
213
|
-
new Date(2014, 10 /* Nov */, 2),
|
|
214
|
-
new Date(2014, 10 /* Nov */, 9),
|
|
215
|
-
new Date(2014, 10 /* Nov */, 16),
|
|
216
|
-
new Date(2014, 10 /* Nov */, 23),
|
|
217
|
-
]);
|
|
218
|
-
|
|
219
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
220
|
-
|
|
221
|
-
expect(
|
|
222
|
-
eachWeekOfInterval({
|
|
223
|
-
start: new Date(2014, 9 /* Oct */, 6, 6, 35),
|
|
224
|
-
end: new Date(2014, 10 /* Nov */, 25, 22, 15),
|
|
225
|
-
}),
|
|
226
|
-
).toEqual([
|
|
227
|
-
new Date(2014, 9 /* Oct */, 6),
|
|
228
|
-
new Date(2014, 9 /* Oct */, 13),
|
|
229
|
-
new Date(2014, 9 /* Oct */, 20),
|
|
230
|
-
new Date(2014, 9 /* Oct */, 27),
|
|
231
|
-
new Date(2014, 10 /* Nov */, 3),
|
|
232
|
-
new Date(2014, 10 /* Nov */, 10),
|
|
233
|
-
new Date(2014, 10 /* Nov */, 17),
|
|
234
|
-
new Date(2014, 10 /* Nov */, 24),
|
|
235
|
-
]);
|
|
236
|
-
|
|
237
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
238
|
-
expect(
|
|
239
|
-
eachWeekOfInterval(
|
|
240
|
-
{
|
|
241
|
-
start: new Date(2014, 9 /* Oct */, 6),
|
|
242
|
-
end: new Date(2014, 10 /* Nov */, 23),
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
weekStartsOn: 0,
|
|
246
|
-
},
|
|
247
|
-
),
|
|
248
|
-
).toEqual([
|
|
249
|
-
new Date(2014, 9 /* Oct */, 5),
|
|
250
|
-
new Date(2014, 9 /* Oct */, 12),
|
|
251
|
-
new Date(2014, 9 /* Oct */, 19),
|
|
252
|
-
new Date(2014, 9 /* Oct */, 26),
|
|
253
|
-
new Date(2014, 10 /* Nov */, 2),
|
|
254
|
-
new Date(2014, 10 /* Nov */, 9),
|
|
255
|
-
new Date(2014, 10 /* Nov */, 16),
|
|
256
|
-
new Date(2014, 10 /* Nov */, 23),
|
|
257
|
-
]);
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
it('endOfWeek', () => {
|
|
261
|
-
// For reference: not setting any options
|
|
262
|
-
expect(endOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(
|
|
263
|
-
new Date(2014, 8 /* Sep */, 6, 23, 59, 59, 999),
|
|
264
|
-
);
|
|
265
|
-
|
|
266
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
267
|
-
|
|
268
|
-
expect(endOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(
|
|
269
|
-
new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999),
|
|
270
|
-
);
|
|
271
|
-
|
|
272
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
273
|
-
expect(
|
|
274
|
-
endOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0), {
|
|
275
|
-
weekStartsOn: 0,
|
|
276
|
-
}),
|
|
277
|
-
).toEqual(new Date(2014, 8 /* Sep */, 6, 23, 59, 59, 999));
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
it('getWeekOfMonth', () => {
|
|
281
|
-
// For reference: not setting any options
|
|
282
|
-
expect(getWeekOfMonth(new Date(2017, 10 /* Nov */, 15))).toBe(3);
|
|
283
|
-
|
|
284
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
285
|
-
|
|
286
|
-
expect(getWeekOfMonth(new Date(2017, 9 /* Oct */, 31))).toBe(6);
|
|
287
|
-
|
|
288
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
289
|
-
expect(
|
|
290
|
-
getWeekOfMonth(new Date(2017, 10 /* Nov */, 15), {
|
|
291
|
-
weekStartsOn: 0,
|
|
292
|
-
}),
|
|
293
|
-
).toBe(3);
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
it('getWeeksInMonth', () => {
|
|
297
|
-
// For reference: not setting any options
|
|
298
|
-
expect(getWeeksInMonth(new Date(2015, 1 /* Feb */, 8, 18, 0))).toBe(4);
|
|
299
|
-
|
|
300
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
301
|
-
|
|
302
|
-
expect(getWeeksInMonth(new Date(2015, 1 /* Feb */, 8, 18, 0))).toBe(5);
|
|
303
|
-
|
|
304
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
305
|
-
expect(
|
|
306
|
-
getWeeksInMonth(new Date(2015, 1 /* Feb */, 8, 18, 0), {
|
|
307
|
-
weekStartsOn: 0,
|
|
308
|
-
}),
|
|
309
|
-
).toBe(4);
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
it('isSameWeek', () => {
|
|
313
|
-
// For reference: not setting any options
|
|
314
|
-
expect(isSameWeek(new Date(2014, 7 /* Aug */, 31), new Date(2014, 8 /* Sep */, 4))).toBe(true);
|
|
315
|
-
|
|
316
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
317
|
-
|
|
318
|
-
expect(isSameWeek(new Date(2014, 7 /* Aug */, 31), new Date(2014, 8 /* Sep */, 4))).toBe(false);
|
|
319
|
-
|
|
320
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
321
|
-
expect(
|
|
322
|
-
isSameWeek(new Date(2014, 7 /* Aug */, 31), new Date(2014, 8 /* Sep */, 4), {
|
|
323
|
-
weekStartsOn: 0,
|
|
324
|
-
}),
|
|
325
|
-
).toBe(true);
|
|
326
|
-
});
|
|
327
|
-
|
|
328
|
-
it('lastDayOfWeek', () => {
|
|
329
|
-
// For reference: not setting any options
|
|
330
|
-
expect(lastDayOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(new Date(2014, 8 /* Sep */, 6));
|
|
331
|
-
|
|
332
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
333
|
-
|
|
334
|
-
expect(lastDayOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(new Date(2014, 8 /* Sep */, 7));
|
|
335
|
-
|
|
336
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
337
|
-
expect(
|
|
338
|
-
lastDayOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0), {
|
|
339
|
-
weekStartsOn: 0,
|
|
340
|
-
}),
|
|
341
|
-
).toEqual(new Date(2014, 8 /* Sep */, 6));
|
|
342
|
-
});
|
|
343
|
-
|
|
344
|
-
it('setDay', () => {
|
|
345
|
-
// For reference: not setting any options
|
|
346
|
-
expect(setDay(new Date(2014, 8 /* Sep */, 1), 0)).toEqual(new Date(2014, 7 /* Aug */, 31));
|
|
347
|
-
|
|
348
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
349
|
-
|
|
350
|
-
expect(setDay(new Date(2014, 8 /* Sep */, 1), 0)).toEqual(new Date(2014, 8 /* Sep */, 7));
|
|
351
|
-
|
|
352
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
353
|
-
expect(
|
|
354
|
-
setDay(new Date(2014, 8 /* Sep */, 1), 0, {
|
|
355
|
-
weekStartsOn: 0,
|
|
356
|
-
}),
|
|
357
|
-
).toEqual(new Date(2014, 7 /* Aug */, 31));
|
|
358
|
-
});
|
|
359
|
-
|
|
360
|
-
it('startOfWeek', () => {
|
|
361
|
-
// For reference: not setting any options
|
|
362
|
-
expect(startOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(new Date(2014, 7 /* Aug */, 31));
|
|
363
|
-
|
|
364
|
-
setDefaultOptions({ weekStartsOn: 1 });
|
|
365
|
-
|
|
366
|
-
expect(startOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0))).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
367
|
-
|
|
368
|
-
// Manually set `weekStartsOn` take priority over `defaultOptions.weekStartsOn`
|
|
369
|
-
expect(
|
|
370
|
-
startOfWeek(new Date(2014, 8 /* Sep */, 2, 11, 55, 0), {
|
|
371
|
-
weekStartsOn: 0,
|
|
372
|
-
}),
|
|
373
|
-
).toEqual(new Date(2014, 7 /* Aug */, 31));
|
|
374
|
-
});
|
|
375
|
-
});
|
|
376
|
-
|
|
377
|
-
describe('firstWeekContainsDate', () => {
|
|
378
|
-
it('format', () => {
|
|
379
|
-
// For reference: not setting any options
|
|
380
|
-
expect(format(new Date(1986, 3 /* Apr */, 6), 'w wo ww')).toBe('15 15th 15');
|
|
381
|
-
|
|
382
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
383
|
-
|
|
384
|
-
expect(format(new Date(1986, 3 /* Apr */, 6), 'w wo ww')).toBe('14 14th 14');
|
|
385
|
-
|
|
386
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
387
|
-
expect(
|
|
388
|
-
format(new Date(1986, 3 /* Apr */, 6), 'w wo ww', {
|
|
389
|
-
weekStartsOn: 0,
|
|
390
|
-
firstWeekContainsDate: 1,
|
|
391
|
-
}),
|
|
392
|
-
).toBe('15 15th 15');
|
|
393
|
-
});
|
|
394
|
-
|
|
395
|
-
it('getWeek', () => {
|
|
396
|
-
// For reference: not setting any options
|
|
397
|
-
expect(getWeek(new Date(2005, 0 /* Jan */, 2))).toBe(2);
|
|
398
|
-
|
|
399
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
400
|
-
|
|
401
|
-
expect(getWeek(new Date(2005, 0 /* Jan */, 2))).toBe(53);
|
|
402
|
-
|
|
403
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
404
|
-
expect(
|
|
405
|
-
getWeek(new Date(2005, 0 /* Jan */, 2), {
|
|
406
|
-
weekStartsOn: 0,
|
|
407
|
-
firstWeekContainsDate: 1,
|
|
408
|
-
}),
|
|
409
|
-
).toBe(2);
|
|
410
|
-
});
|
|
411
|
-
|
|
412
|
-
it('getWeekYear', () => {
|
|
413
|
-
// For reference: not setting any options
|
|
414
|
-
expect(getWeekYear(new Date(2004, 11 /* Dec */, 26))).toBe(2005);
|
|
415
|
-
|
|
416
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
417
|
-
|
|
418
|
-
expect(getWeekYear(new Date(2004, 11 /* Dec */, 26))).toBe(2004);
|
|
419
|
-
|
|
420
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
421
|
-
expect(
|
|
422
|
-
getWeekYear(new Date(2004, 11 /* Dec */, 26), {
|
|
423
|
-
weekStartsOn: 0,
|
|
424
|
-
firstWeekContainsDate: 1,
|
|
425
|
-
}),
|
|
426
|
-
).toBe(2005);
|
|
427
|
-
});
|
|
428
|
-
|
|
429
|
-
it('parse', () => {
|
|
430
|
-
const referenceDate = new Date(1986, 3 /* Apr */, 4, 10, 32, 0, 900);
|
|
431
|
-
// For reference: not setting any options
|
|
432
|
-
expect(parse('2018', 'Y', referenceDate)).toEqual(new Date(2017, 11 /* Dec */, 31));
|
|
433
|
-
|
|
434
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
435
|
-
|
|
436
|
-
expect(parse('2018', 'Y', referenceDate)).toEqual(new Date(2018, 0 /* Jan */, 1));
|
|
437
|
-
|
|
438
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
439
|
-
expect(
|
|
440
|
-
parse('2018', 'Y', referenceDate, {
|
|
441
|
-
weekStartsOn: 0,
|
|
442
|
-
firstWeekContainsDate: 1,
|
|
443
|
-
}),
|
|
444
|
-
).toEqual(new Date(2017, 11 /* Dec */, 31));
|
|
445
|
-
});
|
|
446
|
-
|
|
447
|
-
it('setWeek', () => {
|
|
448
|
-
// For reference: not setting any options
|
|
449
|
-
expect(setWeek(new Date(2005, 0 /* Jan */, 2), 1)).toEqual(new Date(2004, 11 /* Dec */, 26));
|
|
450
|
-
|
|
451
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
452
|
-
|
|
453
|
-
expect(setWeek(new Date(2005, 0 /* Jan */, 2), 1)).toEqual(new Date(2004, 0 /* Jan */, 4));
|
|
454
|
-
|
|
455
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
456
|
-
expect(
|
|
457
|
-
setWeek(new Date(2005, 0 /* Jan */, 2), 1, {
|
|
458
|
-
weekStartsOn: 0,
|
|
459
|
-
firstWeekContainsDate: 1,
|
|
460
|
-
}),
|
|
461
|
-
).toEqual(new Date(2004, 11 /* Dec */, 26));
|
|
462
|
-
});
|
|
463
|
-
|
|
464
|
-
it('setWeekYear', () => {
|
|
465
|
-
// For reference: not setting any options
|
|
466
|
-
expect(setWeekYear(new Date(2010, 0 /* Jan */, 2), 2004)).toEqual(new Date(2004, 0 /* Jan */, 3));
|
|
467
|
-
|
|
468
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
469
|
-
|
|
470
|
-
expect(setWeekYear(new Date(2010, 0 /* Jan */, 2), 2004)).toEqual(new Date(2005, 0 /* Jan */, 1));
|
|
471
|
-
|
|
472
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
473
|
-
expect(
|
|
474
|
-
setWeekYear(new Date(2010, 0 /* Jan */, 2), 2004, {
|
|
475
|
-
weekStartsOn: 0,
|
|
476
|
-
firstWeekContainsDate: 1,
|
|
477
|
-
}),
|
|
478
|
-
).toEqual(new Date(2004, 0 /* Jan */, 3));
|
|
479
|
-
});
|
|
480
|
-
|
|
481
|
-
it('startOfWeekYear', () => {
|
|
482
|
-
// For reference: not setting any options
|
|
483
|
-
expect(startOfWeekYear(new Date(2005, 6 /* Jul */, 2))).toEqual(new Date(2004, 11 /* Dec */, 26, 0, 0, 0, 0));
|
|
484
|
-
|
|
485
|
-
setDefaultOptions({ weekStartsOn: 1, firstWeekContainsDate: 4 });
|
|
486
|
-
|
|
487
|
-
expect(startOfWeekYear(new Date(2005, 6 /* Jul */, 2))).toEqual(new Date(2005, 0 /* Jan */, 3, 0, 0, 0, 0));
|
|
488
|
-
|
|
489
|
-
// Manually set `firstWeekContainsDate` take priority over `defaultOptions.firstWeekContainsDate`
|
|
490
|
-
expect(
|
|
491
|
-
startOfWeekYear(new Date(2005, 6 /* Jul */, 2), {
|
|
492
|
-
weekStartsOn: 0,
|
|
493
|
-
firstWeekContainsDate: 1,
|
|
494
|
-
}),
|
|
495
|
-
).toEqual(new Date(2004, 11 /* Dec */, 26, 0, 0, 0, 0));
|
|
496
|
-
});
|
|
497
|
-
});
|
|
498
|
-
});
|