/**
* 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("