18 lines
871 B
TypeScript
18 lines
871 B
TypeScript
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<b")).toBe("a<b"));
|
|
it("escapes >", () => 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;");
|
|
});
|
|
});
|