stringzy
Version:
A versatile string manipulation library providing a range of text utilities for JavaScript and Node.js applications.
35 lines (34 loc) • 1.89 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 patternCount_1 = require("../../analyzing/patternCount");
(0, node_test_1.describe)('patternCount', () => {
(0, node_test_1.it)('returns 0 for empty string', () => {
node_assert_1.default.deepStrictEqual((0, patternCount_1.patternCount)('', 'aa'), 0);
});
(0, node_test_1.it)('returns 0 for empty pattern', () => {
node_assert_1.default.deepStrictEqual((0, patternCount_1.patternCount)('abc', ''), 0);
});
(0, node_test_1.it)('returns 0 for empty string and empty pattern', () => {
node_assert_1.default.deepStrictEqual((0, patternCount_1.patternCount)('', ''), 0);
});
(0, node_test_1.it)('returns correct count for single character pattern', () => {
node_assert_1.default.strictEqual((0, patternCount_1.patternCount)('abcabcabc', 'a'), 3);
});
(0, node_test_1.it)('returns correct count for multi-character pattern', () => {
node_assert_1.default.strictEqual((0, patternCount_1.patternCount)('abcabcabc', 'ab'), 3);
});
(0, node_test_1.it)('returns correct count for overlapping patterns', () => {
node_assert_1.default.strictEqual((0, patternCount_1.patternCount)('ababababa', 'aba'), 4);
});
(0, node_test_1.it)('returns correct count for non-overlapping patterns', () => {
node_assert_1.default.strictEqual((0, patternCount_1.patternCount)('abababab', 'ab'), 4);
});
(0, node_test_1.it)('returns 0 for pattern not found', () => {
node_assert_1.default.strictEqual((0, patternCount_1.patternCount)('abcdefg', 'xyz'), 0);
});
});
;