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('<<>>')
})
})