import { render, screen } from '@testing-library/react' import { SafeHtml } from '../safe-html' describe('SafeHtml', () => { it('renders safe HTML content', () => { render() expect(screen.getByText(/Hello/)).toBeInTheDocument() expect(screen.getByText(/world/)).toBeInTheDocument() }) it('strips script tags (XSS protection)', () => { const { container } = render( ) expect(container.querySelector('script')).toBeNull() expect(container.textContent).toContain('Safe') }) it('strips event handlers (XSS protection)', () => { const { container } = render( ) const img = container.querySelector('img') expect(img?.getAttribute('onerror')).toBeNull() }) it('preserves className prop', () => { const { container } = render( ) expect(container.firstChild).toHaveAttribute('class', 'prose') }) it('renders with custom tag via as prop', () => { const { container } = render( ) expect(container.querySelector('section')).not.toBeNull() }) it('handles empty string', () => { const { container } = render() expect(container.firstChild).toBeInTheDocument() }) })