From e8a303fd6faaef48dca0ae715c69b1c03ecbd662 Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Sun, 18 Jan 2026 16:18:13 -0600 Subject: [PATCH] Add DOMPurify initialization in frontend test setup - Integrated DOMPurify for sanitizing HTML in tests. - Added error handling for DOMPurify initialization to ensure robustness. - Made DOMPurify globally accessible in the test environment. --- tests/frontend/setup.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/frontend/setup.js b/tests/frontend/setup.js index 23426f4..2258a9a 100644 --- a/tests/frontend/setup.js +++ b/tests/frontend/setup.js @@ -1,7 +1,26 @@ import { vi } from "vitest"; import { config } from "@vue/test-utils"; +import createDOMPurify from "dompurify"; + +// Initialize DOMPurify with the jsdom window +let DOMPurify; +try { + if (typeof createDOMPurify === "function") { + DOMPurify = createDOMPurify(window); + } else if (createDOMPurify && typeof createDOMPurify.default === "function") { + DOMPurify = createDOMPurify.default(window); + } else { + DOMPurify = createDOMPurify; + } +} catch (e) { + console.error("Failed to initialize DOMPurify:", e); +} // Global mocks +if (DOMPurify) { + global.DOMPurify = DOMPurify; + window.DOMPurify = DOMPurify; +} global.performance.mark = vi.fn(); global.performance.measure = vi.fn(); global.performance.getEntriesByName = vi.fn(() => []);