Files
2026Technology-Competition/tests/webview-escape.test.ts
T

25 lines
845 B
TypeScript

import * as assert from 'assert';
import { esc } from '../src/panel/webview';
suite('Webview Escape Tests', () => {
test('escapes greater-than as >', () => {
assert.strictEqual(esc('a > b'), 'a > b');
assert.strictEqual(esc('=> x'), '=> x');
});
test('escapes less-than, ampersand and double quote', () => {
assert.strictEqual(esc('a < b'), 'a &lt; b');
assert.strictEqual(esc('a & b'), 'a &amp; b');
assert.strictEqual(esc('say "hi"'), 'say &quot;hi&quot;');
});
test('escapes combined diagnostic message content', () => {
const msg = 'Expected === but saw == (a > b && c < d)';
assert.strictEqual(esc(msg), 'Expected === but saw == (a &gt; b &amp;&amp; c &lt; d)');
});
test('does not double-escape existing entities', () => {
assert.strictEqual(esc('&amp;'), '&amp;amp;');
});
});