import { describe, it, expect } from "vitest"; import { escapeHtml } from "../utils/html.js"; describe("escapeHtml", () => { it("escapes &", () => expect(escapeHtml("a&b")).toBe("a&b")); it("escapes <", () => expect(escapeHtml("a", () => expect(escapeHtml("a>b")).toBe("a>b")); it('escapes "', () => expect(escapeHtml('a"b')).toBe("a"b")); it("escapes '", () => expect(escapeHtml("a'b")).toBe("a'b")); it("passes through normal text", () => expect(escapeHtml("hello world")).toBe("hello world")); it("handles empty string", () => expect(escapeHtml("")).toBe("")); it("escapes all special chars together", () => { expect(escapeHtml(`&<>"'`)).toBe("&<>"'"); }); it("double-escapes already-escaped entities", () => { expect(escapeHtml("&")).toBe("&amp;"); }); });