UNPKG

@v4fire/core

Version:
106 lines (85 loc) 3.5 kB
/*! * 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'); }); });