UNPKG

stringzy

Version:

A versatile string manipulation library providing a range of text utilities for JavaScript and Node.js applications.

56 lines (55 loc) 4.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_test_1 = require("node:test"); const node_assert_1 = __importDefault(require("node:assert")); const isDate_1 = require("../../validations/isDate"); (0, node_test_1.describe)('isDate', () => { (0, node_test_1.it)('validates dates formatted as YYYY-MM-DD', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020-01-01', isDate_1.DateFormats.YYYYMMDD), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('1999-06-22', isDate_1.DateFormats.YYYYMMDD), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('1852-12-31', isDate_1.DateFormats.YYYYMMDD), true); }); (0, node_test_1.it)('invalidates dates formatted as YYYY-MM-DD with out-of-range months', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020-13-31', isDate_1.DateFormats.YYYYMMDD), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('1000-02-40', isDate_1.DateFormats.YYYYMMDD), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('1970-15-32', isDate_1.DateFormats.YYYYMMDD), false); }); (0, node_test_1.it)('validates dates formatted as MM-DD-YYYY', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('12-31-2020', isDate_1.DateFormats.MMDDYYYY), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('02-04-1900', isDate_1.DateFormats.MMDDYYYY), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('05-20-1820', isDate_1.DateFormats.MMDDYYYY), true); }); (0, node_test_1.it)('invalidates dates formatted as MM-DD-YYYY', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('13-31-2000', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('02-31-1990', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('01-33-1970', isDate_1.DateFormats.MMDDYYYY), false); }); (0, node_test_1.it)('validates dates formatted as DD-MM-YYYY', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('31-12-2020', isDate_1.DateFormats.DDMMYYYY), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('23-01-1888', isDate_1.DateFormats.DDMMYYYY), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('28-02-2000', isDate_1.DateFormats.DDMMYYYY), true); }); (0, node_test_1.it)('invalidates dates formatted as DD-MM-YYYY', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('32-12-2020', isDate_1.DateFormats.DDMMYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('30-02-2001', isDate_1.DateFormats.DDMMYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('01-13-1999', isDate_1.DateFormats.DDMMYYYY), false); }); (0, node_test_1.it)('properly handles other valid separators', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020/12/31', isDate_1.DateFormats.YYYYMMDD, '/'), true); node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020.12.31', isDate_1.DateFormats.YYYYMMDD, '.'), true); }); (0, node_test_1.it)('properly invalidates non-valid separators', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020?12?31', isDate_1.DateFormats.YYYYMMDD, '?'), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('2020!12!31', isDate_1.DateFormats.YYYYMMDD, '!'), false); }); (0, node_test_1.it)('invalidates improperly formatted dates', () => { node_assert_1.default.strictEqual((0, isDate_1.isDate)('1-01-2000', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('01-1-2000', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('01-1--2000', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)('not a date', isDate_1.DateFormats.MMDDYYYY), false); node_assert_1.default.strictEqual((0, isDate_1.isDate)(11012000, isDate_1.DateFormats.MMDDYYYY), false); }); });