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