stringzy
Version:
A versatile string manipulation library providing a range of text utilities for JavaScript and Node.js applications.
40 lines (39 loc) • 2.52 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 isPanagram_1 = require("../../validations/isPanagram");
(0, node_test_1.describe)('isPanagram', () => {
(0, node_test_1.it)('returns true for a classic pangram sentence', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('The quick brown fox jumps over the lazy dog.'), true);
});
(0, node_test_1.it)('returns true for the alphabet with hyphens or separators', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z'), true);
});
(0, node_test_1.it)('returns true for alphabet without separators', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('Abcdefghijklmnopqrstuvwxyz'), true);
});
(0, node_test_1.it)('returns true for alphabet in mixed case', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('AbCdEfGhIjKlMnOpQrStUvWxYz'), true);
});
(0, node_test_1.it)('returns false for non-pangram sentences', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('This is not a pangram.'), false);
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('Hello world'), false);
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('Quick fox'), false);
});
(0, node_test_1.it)('returns false for empty strings', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)(''), false);
});
(0, node_test_1.it)('ignores numbers and punctuation', () => {
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('The quick brown fox jumps over the lazy dog! 12345'), true);
node_assert_1.default.strictEqual((0, isPanagram_1.isPanagram)('1234567890 !!! ???'), false);
});
(0, node_test_1.it)('throws an error if input is not a string', () => {
node_assert_1.default.throws(() => (0, isPanagram_1.isPanagram)(123), /Input must be a string/);
node_assert_1.default.throws(() => (0, isPanagram_1.isPanagram)(null), /Input must be a string/);
node_assert_1.default.throws(() => (0, isPanagram_1.isPanagram)(undefined), /Input must be a string/);
});
});