// @vitest-environment jsdom import { describe, it, expect } from "vitest"; import { createMarkdownProcessor, createDirectivePostprocessor, escapeHtml, } from "./postprocessors"; import { createDefaultSanitizer } from "./utils/sanitize"; describe("markdown + sanitization integration", () => { const md = createMarkdownProcessor(); const sanitize = createDefaultSanitizer(); it("strips script tags from markdown output", () => { const html = sanitize(md("# Title\n")); expect(html).toContain("

Title

"); expect(html).not.toContain("')); expect(html).toContain('data-tv-form="init"'); expect(html).not.toContain("')).toBe( "<script>alert("xss")&</script>" ); }); it("escapes single quotes", () => { expect(escapeHtml("it's")).toBe("it's"); }); });