/** * Sanitization Utility Tests * * Tests for HTML sanitization and XSS prevention. */ import { describe, it, expect } from "vitest"; import { sanitizeString, sanitizeObject, sanitizeArray } from "./sanitize.util"; describe("Sanitization Utilities", () => { describe("sanitizeString", () => { it("should remove script tags", () => { const dirty = 'Hello'; const clean = sanitizeString(dirty); expect(clean).not.toContain("John', description: "Safe text", nested: { value: '', }, }; const clean = sanitizeObject(dirty); expect(clean.name).not.toContain("safe", "another", }, }, }, }; const clean = sanitizeObject(input); expect(clean.level1.level2.level3.xss).not.toContain("safe", "clean", '']; const clean = sanitizeArray(dirty); expect(clean[0]).not.toContain("", 123, true, null, { key: "value" }]; const clean = sanitizeArray(input); expect(clean[0]).not.toContain("", "safe"], ['']]; const clean = sanitizeArray(input); expect(clean[0][0]).not.toContain("