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
JavaScript
;
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);
});
});