import { fuzz, fuzzRegressions, isMain } from "../../../test/fuzz.ts"; import { extractMainContent, sanitizeInjectionVectors } from "../extract.ts"; export const NAME = "web extract parsers tolerate hostile HTML"; /** Documented acceptable rejections (none: these parsers must never throw). */ export const allow: ReadonlyArray Error> = []; export function exercise(input: string): void { const sanitized = sanitizeInjectionVectors(input); if (sanitizeInjectionVectors(sanitized) !== sanitized) throw new Error("sanitizeInjectionVectors is not idempotent"); extractMainContent(input); } export function regressions(): string[] { return fuzzRegressions(import.meta.url); } if (isMain(import.meta.url)) { fuzz(import.meta.url, NAME, exercise, { numRuns: Number(process.env["FUZZ_RUNS"] ?? 2000), }); console.log(`fuzz ok: ${NAME}`); }