stringzy
Version:
A versatile string manipulation library providing a range of text utilities for JavaScript and Node.js applications.
47 lines (46 loc) • 2.6 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 escapeHTML_1 = require("../../transformations/escapeHTML");
(0, node_test_1.describe)('escapeHtml', () => {
(0, node_test_1.it)('escapes ampersand', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('Tom & Jerry'), 'Tom & Jerry');
});
(0, node_test_1.it)('escapes less than', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('5 < 10'), '5 < 10');
});
(0, node_test_1.it)('escapes greater than', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('10 > 5'), '10 > 5');
});
(0, node_test_1.it)('escapes double quotes', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('Say "Hello"'), 'Say "Hello"');
});
(0, node_test_1.it)('escapes single quotes', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)("It's working"), 'It's working');
});
(0, node_test_1.it)('escapes all special characters together', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)(`&<>"'`), '&<>"'');
});
(0, node_test_1.it)('escapes script tag', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('<script>alert("XSS")</script>'), '<script>alert("XSS")</script>');
});
(0, node_test_1.it)('escapes HTML with attributes', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('<div class="test">content</div>'), '<div class="test">content</div>');
});
(0, node_test_1.it)('handles empty string', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)(''), '');
});
(0, node_test_1.it)('handles string with no special characters', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('Hello World'), 'Hello World');
});
(0, node_test_1.it)('escapes repeated characters', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('<<>>'), '<<>>');
});
(0, node_test_1.it)('preserves whitespace', () => {
node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)(' < > '), ' < > ');
});
});