feat: unit tests for security/utility functions (isPrivateIP, isTransientError, markdown, escapeHtml)
This commit is contained in:
parent
0a002f94ef
commit
50a163b12d
10 changed files with 224 additions and 62 deletions
18
src/__tests__/html-utils.test.ts
Normal file
18
src/__tests__/html-utils.test.ts
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
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;");
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue