UNPKG

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
"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 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 &amp; Jerry'); }); (0, node_test_1.it)('escapes less than', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('5 < 10'), '5 &lt; 10'); }); (0, node_test_1.it)('escapes greater than', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('10 > 5'), '10 &gt; 5'); }); (0, node_test_1.it)('escapes double quotes', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('Say "Hello"'), 'Say &quot;Hello&quot;'); }); (0, node_test_1.it)('escapes single quotes', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)("It's working"), 'It&#39;s working'); }); (0, node_test_1.it)('escapes all special characters together', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)(`&<>"'`), '&amp;&lt;&gt;&quot;&#39;'); }); (0, node_test_1.it)('escapes script tag', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('<script>alert("XSS")</script>'), '&lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;'); }); (0, node_test_1.it)('escapes HTML with attributes', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)('<div class="test">content</div>'), '&lt;div class=&quot;test&quot;&gt;content&lt;/div&gt;'); }); (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)('<<>>'), '&lt;&lt;&gt;&gt;'); }); (0, node_test_1.it)('preserves whitespace', () => { node_assert_1.default.strictEqual((0, escapeHTML_1.escapeHtml)(' < > '), ' &lt; &gt; '); }); });