import { escapeHtmlEntities } from './sanitize'
describe('sanitize', () => {
describe('escapeHtmlEntities()', () => {
it('should escape less-than character', () => {
// Arrange
const input = ''
// Act
const result = escapeHtmlEntities(input)
// Assert
expect(result).toBe('<script>alert("XSS & 'attack'")</script>')
})
it('should return unchanged string when no special characters', () => {
// Arrange
const input = 'Hello World 123'
// Act
const result = escapeHtmlEntities(input)
// Assert
expect(result).toBe('Hello World 123')
})
it('should handle empty string', () => {
// Arrange
const input = ''
// Act
const result = escapeHtmlEntities(input)
// Assert
expect(result).toBe('')
})
it('should handle img tag XSS payload', () => {
// Arrange
const input = '
'
// Act
const result = escapeHtmlEntities(input)
// Assert
expect(result).toBe('<img src=x onerror="alert('XSS')">')
})
})
})