import { describe, it, expect } from 'vitest'; import { escapeHtml } from '../../src/core/escape-html.js'; describe('escapeHtml', () => { it('escapes the five HTML-significant characters', () => { expect(escapeHtml(`a & b < c > d " e ' f`)).toBe('a & b < c > d " e ' f'); }); it('replaces & first so entities are not double-escaped', () => { expect(escapeHtml('<')).toBe('<'); expect(escapeHtml('<')).toBe('&lt;'); }); it('coerces null/undefined to empty string', () => { expect(escapeHtml(null)).toBe(''); expect(escapeHtml(undefined)).toBe(''); }); });