stringzy
Version:
A versatile string manipulation library providing a range of text utilities for JavaScript and Node.js applications.
31 lines (30 loc) • 1.66 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 maskSegment_1 = require("../../transformations/maskSegment");
(0, node_test_1.describe)('maskSegment', () => {
(0, node_test_1.it)('masks the string correctly', () => {
node_assert_1.default.strictEqual((0, maskSegment_1.maskSegment)('1234567890', 2, 6), '12****7890');
});
(0, node_test_1.it)('masks full string if entire range is selected', () => {
node_assert_1.default.strictEqual((0, maskSegment_1.maskSegment)('secret', 0, 6), '******');
});
(0, node_test_1.it)('supports custom mask character', () => {
node_assert_1.default.strictEqual((0, maskSegment_1.maskSegment)('abcdef', 1, 4, '#'), 'a###ef');
});
(0, node_test_1.it)('throws on invalid range', () => {
node_assert_1.default.throws(() => (0, maskSegment_1.maskSegment)('abc', 2, 1));
node_assert_1.default.throws(() => (0, maskSegment_1.maskSegment)('abc', -1, 2));
node_assert_1.default.throws(() => (0, maskSegment_1.maskSegment)('abc', 0, 4));
});
(0, node_test_1.it)('throws if maskChar is more than one character', () => {
node_assert_1.default.throws(() => (0, maskSegment_1.maskSegment)('abc', 0, 2, '**'));
});
(0, node_test_1.it)('handles empty string', () => {
node_assert_1.default.throws(() => (0, maskSegment_1.maskSegment)('', 0, 1));
});
});
;