import { describe, it, expect } from 'vitest' import { escapeHTML, unescapeHTML } from './html' describe('html', () => { it('should escape HTML special characters', () => { expect(escapeHTML('&')).toBe('&') expect(escapeHTML('<')).toBe('<') expect(escapeHTML('>')).toBe('>') expect(escapeHTML("'")).toBe(''') expect(escapeHTML('"')).toBe('"') expect(escapeHTML('
&"\'
')).toBe('<div>&"'</div>') expect(escapeHTML('no special')).toBe('no special') }) it('should unescape HTML entities', () => { expect(unescapeHTML('&')).toBe('&') expect(unescapeHTML('<')).toBe('<') expect(unescapeHTML('>')).toBe('>') expect(unescapeHTML(''')).toBe("'") expect(unescapeHTML('"')).toBe('"') expect(unescapeHTML('<div>&"'</div>')).toBe('
&"\'
') expect(unescapeHTML('no special')).toBe('no special') }) it('should handle mixed and repeated entities', () => { expect(unescapeHTML('&&')).toBe('&&') expect(unescapeHTML('<><')).toBe('<><') expect(escapeHTML('<<>>')).toBe('<<>>') }) })