import { describe, it, expect } from 'vitest'; import { renderContent } from '../../utils/content-renderer'; describe('content-renderer XSS protection', () => { it('blocks javascript: URLs in {{link:}} (no anchor tag)', () => { const html = renderContent('{{link:javascript:alert(1)}}', {}); expect(html).not.toContain(' { const html = renderContent('{{link:javascript:alert(1), click me}}', {}); expect(html).not.toContain(' { const html = renderContent('{{link:data:text/html,}}', {}); expect(html).not.toContain(''); }); it('allows https: URLs in {{link:}}', () => { const html = renderContent('{{link:https://example.com}}', {}); expect(html).toContain('href="https://example.com"'); }); it('blocks javascript: URLs in {{image:}} (no img tag)', () => { const html = renderContent('{{image:javascript:alert(1)}}', {}); expect(html).not.toContain(' { const html = renderContent('{{image:data:text/html,\n* safe item', {}); expect(html).not.toContain('