UNPKG

stringzy

Version:

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

45 lines (44 loc) 2.79 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 isAnagram_1 = require("../../validations/isAnagram"); (0, node_test_1.describe)('isAnagram', () => { (0, node_test_1.it)('returns true for valid anagrams (simple lowercase words)', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('listen', 'silent'), true); node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('evil', 'vile'), true); }); (0, node_test_1.it)('returns true for case-insensitive matches', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('Listen', 'Silent'), true); node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('Debit Card', 'Bad Credit'), true); }); (0, node_test_1.it)('returns true when ignoring spaces and punctuation', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('Astronomer', 'Moon starer'), true); node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('The eyes!!', 'They see'), true); }); (0, node_test_1.it)('returns false for non-anagrams', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('hello', 'world'), false); node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('abc', 'abcd'), false); }); (0, node_test_1.it)('returns true for single character anagrams', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('a', 'a'), true); }); (0, node_test_1.it)('returns false for different single characters', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('a', 'b'), false); }); (0, node_test_1.it)('returns true for empty strings (both empty)', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('', ''), true); }); (0, node_test_1.it)('returns false when only one string is empty', () => { node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('', 'a'), false); node_assert_1.default.strictEqual((0, isAnagram_1.isAnagram)('a', ''), false); }); (0, node_test_1.it)('throws an error if inputs are not strings', () => { node_assert_1.default.throws(() => (0, isAnagram_1.isAnagram)(123, 'abc'), /Both inputs must be strings/); node_assert_1.default.throws(() => (0, isAnagram_1.isAnagram)(null, 'abc'), /Both inputs must be strings/); node_assert_1.default.throws(() => (0, isAnagram_1.isAnagram)(undefined, 'abc'), /Both inputs must be strings/); }); });