UNPKG

stringzy

Version:

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

68 lines (67 loc) 3.53 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 isEmail_1 = require("../../validations/isEmail"); (0, node_test_1.describe)("isEmail", () => { // // ✅ Basic valid emails // (0, node_test_1.it)("returns true for basic valid emails", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("foo@bar.com"), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test@example.org"), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("very.common@example.com"), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("long.email-address-with-hyphens@and.subdomains.example.com"), true); }); // // ✅ Special characters in local-part // (0, node_test_1.it)("returns true for special characters", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test+tag@example.com"), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("user.name+tag+sorting@example.com"), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test/test@example.com"), true); }); // // ✅ IPv4 address literal // (0, node_test_1.it)("returns true for IPv4 address literal", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("user@[192.168.1.1]"), true); }); // // ✅ Quoted local-parts (RFC 5322) // (0, node_test_1.it)("returns true for quoted local-parts", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)('"much.more unusual"@example.com'), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)('"very.unusual.@.unusual.com"@example.com'), true); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)('"very.(),:;<>[]".VERY."very@\\ "very".unusual"@strange.example.com'), true); }); // // ✅ IPv6 domain literal // (0, node_test_1.it)("returns true for IPv6 domain literals", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("user@[IPv6:2001:db8::1]"), true); }); // // ❌ Invalid emails // (0, node_test_1.it)("returns false for invalid emails", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)(""), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("@example.com"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test@"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test@.com"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test..test@example.com"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)(".test@example.com"), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)("test.@example.com"), false); }); // // ❌ Invalid quoted emails // (0, node_test_1.it)("returns false for invalid quoted local-parts", () => { node_assert_1.default.strictEqual((0, isEmail_1.isEmail)('"unclosed-quote@example.com'), false); node_assert_1.default.strictEqual((0, isEmail_1.isEmail)('"missing"quotes@@example.com'), false); }); });