@webilix/jalali-date-time
Version:
Lightweight library for parsing and formating Jalali date with timezone functionality
128 lines • 5.41 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../index");
const jalali = (0, index_1.JalaliDateTime)();
test('now', () => {
const test = jalali.now();
expect(test.length).toBe(19);
});
test('modify', () => {
const getString = (m) => jalali.toString(m.toDate()).substring(0, 10);
const modify = new jalali.modify();
const check = getString(modify);
expect(getString(modify.year(30).year(-30))).toBe(check);
expect(getString(modify.year(-30).year(30))).toBe(check);
expect(getString(modify.year(-60).year(30).year(30))).toBe(check);
expect(getString(modify.year(60).year(-30).year(-30))).toBe(check);
expect(getString(modify.month(300).month(-300))).toBe(check);
expect(getString(modify.month(-300).month(300))).toBe(check);
expect(getString(modify.month(-600).month(300).month(300))).toBe(check);
expect(getString(modify.month(600).month(-300).month(-300))).toBe(check);
expect(getString(modify.day(3000).day(-3000))).toBe(check);
expect(getString(modify.day(-3000).day(3000))).toBe(check);
expect(getString(modify.day(-6000).day(3000).day(3000))).toBe(check);
expect(getString(modify.day(6000).day(-3000).day(-3000))).toBe(check);
expect(getString(modify.year(30).month(300).day(3000).day(-3000).month(-300).year(-30))).toBe(check);
expect(getString(modify.year(-30).month(-300).day(-3000).day(3000).month(300).year(30))).toBe(check);
});
test('toDate', () => {
const test = jalali.toDate(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toBe('1358-03-13');
});
test('toTime', () => {
const test = jalali.toTime(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toBe('12:00:00');
});
test('toString', () => {
const test = jalali.toString(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toBe('1358-03-13 12:00:00');
});
test('toTitle', () => {
const test = jalali.toTitle(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toBe('یکشنبه, ۱۳ خرداد ۱۳۵۸');
});
test('toFullText', () => {
const test = jalali.toFullText(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toBe('یکشنبه, ۱۳ خرداد ۱۳۵۸ ۱۲:۰۰:۰۰');
});
test('toObject', () => {
const test = jalali.toObject(new Date('1979-06-03 12:00:00 GMT+4:30'));
expect(test).toStrictEqual({ week: 1, year: 1358, month: 3, day: 13, hour: 12, minute: 0, second: 0 });
});
test('dayOfWeek', () => {
const test = jalali.dayOfWeek(new Date('1979-06-03'));
expect(test).toBe(1);
const index = [...Array(7).keys()];
const days = index.map((i) => {
const date = new Date(new Date().getTime() + i * 24 * 3600 * 1000);
return jalali.dayOfWeek(date);
});
days.forEach((day) => expect(index.includes(day)).toBe(true));
});
test('daysInMonth', () => {
const test = jalali.daysInMonth('1391-12');
expect(test).toBe(30);
});
test('gregorian', () => {
const test = jalali.gregorian('1358-03-13');
expect(test).toStrictEqual({ year: 1979, month: 6, day: 3, date: '1979-06-03' });
});
test('timezones', () => {
const test = jalali.timezones();
expect(test.indexOf('Asia/Tehran') !== -1).toBe(true);
});
test('nextDay', () => {
const date = new Date(jalali.gregorian('1358-03-13').date);
const test = jalali.toDate(jalali.nextDay(0, date));
expect(test).toBe('1358-03-20');
});
test('nextDayOfWeek', () => {
const date = new Date(jalali.gregorian('1358-03-13').date);
const test = jalali.toDate(jalali.nextDayOfWeek(0, date));
expect(test).toBe('1358-03-20');
});
test('nextMonth', () => {
const date = new Date(jalali.gregorian('1358-03-13').date);
const first = jalali.toDate(jalali.nextMonth('FIRST', date));
const last = jalali.toDate(jalali.nextMonth('LAST', date));
expect(first).toBe('1358-04-01');
expect(last).toBe('1358-03-31');
});
test('nextDayOfMonth', () => {
const date = new Date(jalali.gregorian('1358-03-13').date);
const first = jalali.toDate(jalali.nextDayOfMonth('FIRST', date));
const last = jalali.toDate(jalali.nextDayOfMonth('LAST', date));
expect(first).toBe('1358-04-01');
expect(last).toBe('1358-03-31');
});
test('nextYear', () => {
const date = new Date(jalali.gregorian('1403-12-30').date);
const test = jalali.nextYear(date);
expect(test.getTime()).toBe(1900182600000);
});
test('nextDayOfYear', () => {
const date = new Date(jalali.gregorian('1403-12-30').date);
const test = jalali.nextDayOfYear(date);
expect(test.getTime()).toBe(1900182600000);
});
test('periodHour', () => {
const test = jalali.periodHour(24);
expect(test.periods.length).toBe(24);
expect(test.to.getTime() - test.from.getTime()).toBe(24 * 3600000 - 1);
});
test('periodDay', () => {
const test = jalali.periodDay(7);
expect(test.periods.length).toBe(7);
expect(test.to.getTime() - test.from.getTime()).toBe(7 * 24 * 3600000 - 1);
});
test('periodMonth', () => {
const test = jalali.periodMonth(12);
expect(test.periods.length).toBe(12);
});
test('periodYear', () => {
const date = new Date();
const test = jalali.periodYear(12, date);
expect(test.periods.length).toBe(12);
expect(+jalali.toString(test.from, { format: 'Y' })).toBe(+jalali.toString(date, { format: 'Y' }) - 11);
});
//# sourceMappingURL=lib.test.js.map