UNPKG

topkat-utils

Version:

A comprehensive collection of TypeScript/JavaScript utility functions for common programming tasks. Includes validation, object manipulation, date handling, string formatting, and more. Zero dependencies, fully typed, and optimized for performance.

81 lines 3.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const date_utils_1 = require("./date-utils"); describe('dateFormatted', () => { it('should format a YYYY-MM-DD string with default separator', () => { expect((0, date_utils_1.dateFormatted)('2023-05-15')).toBe('15/05/2023'); }); it('should format a YYYY-MM-DD string with custom separator', () => { expect((0, date_utils_1.dateFormatted)('2023-05-15', '-')).toBe('15-05-2023'); expect((0, date_utils_1.dateFormatted)('2023-05-15', '.')).toBe('15.05.2023'); }); it('should format a dateInt8 string', () => { expect((0, date_utils_1.dateFormatted)('20230515')).toBe('15/05/2023'); }); it('should format a dateInt8 number', () => { expect((0, date_utils_1.dateFormatted)(20230515)).toBe('15/05/2023'); }); it('should format an ISO date string', () => { expect((0, date_utils_1.dateFormatted)('2023-05-15T10:30:00.000Z')).toBe('15/05/2023'); }); it('should format a Date object', () => { const date = new Date(Date.UTC(2023, 4, 15)); // May 15 2023 expect((0, date_utils_1.dateFormatted)(date)).toBe('15/05/2023'); }); it('should format a DD/MM/YYYY string', () => { expect((0, date_utils_1.dateFormatted)('15/05/2023')).toBe('15/05/2023'); }); it('should handle single-digit day and month in YYYY-MM-DD', () => { expect((0, date_utils_1.dateFormatted)('2023-01-05')).toBe('05/01/2023'); }); it('should handle end-of-year dates', () => { expect((0, date_utils_1.dateFormatted)('2023-12-31')).toBe('31/12/2023'); }); it('should handle start-of-year dates', () => { expect((0, date_utils_1.dateFormatted)('2023-01-01')).toBe('01/01/2023'); }); }); describe('getDateAsInt', () => { it('should convert YYYY-MM-DD string to dateInt8', () => { expect((0, date_utils_1.getDateAsInt)('2023-05-15')).toBe('20230515'); }); it('should convert YYYY-MM-DD with single digits', () => { expect((0, date_utils_1.getDateAsInt)('2023-01-05')).toBe('20230105'); }); it('should convert dateInt8 number', () => { expect((0, date_utils_1.getDateAsInt)(20230515)).toBe('20230515'); }); it('should convert dateInt8 string', () => { expect((0, date_utils_1.getDateAsInt)('20230515')).toBe('20230515'); }); it('should convert DD/MM/YYYY format', () => { expect((0, date_utils_1.getDateAsInt)('15/05/2023')).toBe('20230515'); }); it('should convert a Date object', () => { const date = new Date(Date.UTC(2023, 4, 15, 10, 30)); expect((0, date_utils_1.getDateAsInt)(date)).toBe('20230515'); }); it('should convert an ISO string', () => { expect((0, date_utils_1.getDateAsInt)('2023-05-15T10:30:00.000Z')).toBe('20230515'); }); it('should include hours and minutes when requested', () => { const date = new Date(Date.UTC(2023, 4, 15, 10, 30)); expect((0, date_utils_1.getDateAsInt)(date, false, true)).toBe('202305151030'); }); }); describe('dateArray', () => { it('should return [DD, MM, YYYY] from YYYY-MM-DD string', () => { expect((0, date_utils_1.dateArray)('2023-05-15')).toEqual(['15', '05', '2023']); }); it('should return [DD, MM, YYYY] from dateInt8', () => { expect((0, date_utils_1.dateArray)(20230515)).toEqual(['15', '05', '2023']); }); }); describe('getDateAsInt12', () => { it('should return 12-digit int string from YYYY-MM-DD', () => { const result = (0, date_utils_1.getDateAsInt12)('2023-05-15'); expect(result).toHaveLength(12); expect(result.substring(0, 8)).toBe('20230515'); }); }); //# sourceMappingURL=date-utils.spec.js.map