UNPKG

stringzy

Version:

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

60 lines (59 loc) 3.92 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 isIPv4_1 = require("../../validations/isIPv4"); (0, node_test_1.describe)('isIPv4', () => { (0, node_test_1.it)('returns true for valid IPv4 addresses', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.1'), true); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('0.0.0.0'), true); }); (0, node_test_1.it)('returns false for invalid IPv4 addresses with out-of-range numbers', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('256.1.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('1.256.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('-1.0.0.1'), false); }); (0, node_test_1.it)('returns false for invalid IPv4 addresses with wrong number of parts', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)(''), false); }); (0, node_test_1.it)('returns false for IPv4 addresses with leading zeros', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.01.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('01.168.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.001'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('000.0.0.1'), false); }); (0, node_test_1.it)('returns false for non-numeric parts', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.a'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('abc.168.1.1'), false); }); (0, node_test_1.it)('returns false for IPv4 addresses with special characters', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.1.'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('.192.168.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192..168.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.1/24'), false); }); (0, node_test_1.it)('returns false for empty strings and edge cases', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)(''), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('...'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168..1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('.192.168.1'), false); }); (0, node_test_1.it)('returns false for decimal numbers', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.1.5'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.5.0'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('1.2.3.4.5'), false); }); (0, node_test_1.it)('returns false for hexadecimal and other number formats', () => { node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('0x192.168.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.0x168.1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.0x1.1'), false); node_assert_1.default.strictEqual((0, isIPv4_1.isIPv4)('192.168.1.0x1'), false); }); });