import { describe, expect, it } from
"vitest" ;
import { findRawWindowOpenLines } from
"../../scripts/check-no-raw-window-open.mjs" ;
describe(
"check-no-raw-window-open" , () => {
it(
"finds direct window.open calls" , () => {
const source = `
function openDocs() {
window.open(
"https://docs.openclaw.ai ");
}
`;
expect(findRawWindowOpenLines(source)).toEqual([
3 ]);
});
it(
"finds globalThis.open calls" , () => {
const source = `
function openDocs() {
globalThis.open(
"https://docs.openclaw.ai ");
}
`;
expect(findRawWindowOpenLines(source)).toEqual([
3 ]);
});
it(
"ignores mentions in strings and comments" , () => {
const source = `
// window.open("https://example.com ")
const text =
"window.open('https://example.com ')";
`;
expect(findRawWindowOpenLines(source)).toEqual([]);
});
it(
"handles parenthesized and asserted window references" , () => {
const source = `
const openRef = (window as Window).open;
openRef(
"https://example.com ");
(window as Window).open(
"https://example.com ");
`;
expect(findRawWindowOpenLines(source)).toEqual([
4 ]);
});
});
Messung V0.5 in Prozent C=99 H=98 G=98
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland