@v4fire/core
Version:
V4Fire core library
106 lines (85 loc) • 3.5 kB
JavaScript
/*!
* V4Fire Core
* https://github.com/V4Fire/Core
*
* Released under the MIT license
* https://github.com/V4Fire/Core/blob/master/LICENSE
*/
describe('core/prelude/date/format', () => {
const
date = Date.create('18.10.1989 10:10:10');
it('`short`', () => {
expect(date.short('en')).toBe('10/18/1989');
});
it('`Date.short`', () => {
expect(Date.short('en')(date)).toBe('10/18/1989');
});
it('`medium`', () => {
expect(date.medium('en')).toBe('October 18, 1989');
});
it('`Date.medium`', () => {
expect(Date.medium('en')(date)).toBe('October 18, 1989');
});
it('`long`', () => {
expect(date.long('en')).toBe('October 18, 1989 at 10:10:10 AM');
});
it('`Date.long`', () => {
expect(Date.long('en')(date)).toBe('October 18, 1989 at 10:10:10 AM');
});
it('`format`', () => {
expect(date.format('Y;M:2-digit', 'en')).toBe('10/1989');
expect(date.format({year: 'numeric'})).toBe('1989');
});
it('`format` with optional values', () => {
const
now = new Date(),
currentYear = now.getFullYear(),
currentMonth = now.getMonth();
const date1 = new Date(currentYear, currentMonth, 2);
expect(date1.format('Y?;M?:2-digit;d', 'en')).toBe('02');
const date2 = Date.create('29.08.1900 10:10:23');
expect(date2.format('M;Y?', 'en')).toBe('Aug 1900');
const date3 = Date.create('29.08.2200 10:10:23');
expect(date3.format('M;Y?', 'en')).toBe('Aug 2200');
const date4 = Date.create(`29.08.${currentYear} 10:10:23`);
expect(date4.format('M;Y?', 'en')).toBe('Aug');
});
it('`Date.format`', () => {
expect(Date.format('Y;M:2-digit', 'en')(date)).toBe('10/1989');
expect(Date.format({year: 'numeric'})(date)).toBe('1989');
});
it('`toHTMLDateString`', () => {
expect(date.toHTMLDateString()).toBe('1989-10-18');
expect(date.toHTMLDateString({date: false})).toBe('1989-10-01');
expect(date.toHTMLDateString({month: false})).toBe('1989-01-01');
});
it('`Date.toHTMLDateString`', () => {
expect(Date.toHTMLDateString(date)).toBe('1989-10-18');
expect(Date.toHTMLDateString(date, {date: false})).toBe('1989-10-01');
expect(Date.toHTMLDateString({month: false})(date)).toBe('1989-01-01');
});
it('`toHTMLTimeString`', () => {
expect(date.toHTMLTimeString()).toBe('10:10:10.0');
expect(date.toHTMLTimeString({milliseconds: false})).toBe('10:10:10');
expect(date.toHTMLTimeString({seconds: false})).toBe('10:10');
expect(date.toHTMLTimeString({minutes: false})).toBe('10:00');
});
it('`Date.toHTMLTimeString`', () => {
expect(Date.toHTMLTimeString(date)).toBe('10:10:10.0');
expect(Date.toHTMLTimeString(date, {milliseconds: false})).toBe('10:10:10');
expect(Date.toHTMLTimeString({seconds: false})(date)).toBe('10:10');
});
it('`toHTMLString`', () => {
expect(date.toHTMLString()).toBe('1989-10-18T10:10:10.0');
expect(date.toHTMLString({date: false})).toBe('1989-10-01T10:10:10.0');
expect(date.toHTMLString({month: false})).toBe('1989-01-01T10:10:10.0');
expect(date.toHTMLString({month: false, milliseconds: false})).toBe('1989-01-01T10:10:10');
expect(date.toHTMLString({month: false, seconds: false})).toBe('1989-01-01T10:10');
expect(date.toHTMLString({month: false, minutes: false})).toBe('1989-01-01T10:00');
});
it('`Date.toHTMLString`', () => {
expect(Date.toHTMLString(date)).toBe('1989-10-18T10:10:10.0');
expect(Date.toHTMLString(date, {date: false})).toBe('1989-10-01T10:10:10.0');
expect(Date.toHTMLString({month: false})(date)).toBe('1989-01-01T10:10:10.0');
});
});