import { describe, expect, test } from "bun:test"; import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import type { TokenPolicy } from "./policy"; import { applyExceptions, inspect, scan } from "./scan"; import { extractSource } from "./source"; let policy: TokenPolicy = { canonical: new Map(), aliases: new Map() }; function fixture(files: Record, check: (root: string) => void) { let root = mkdtempSync(join(tmpdir(), "chopin-contract-adversarial-")); try { mkdirSync(join(root, "apps/web"), { recursive: true }); mkdirSync(join(root, "packages/visuals"), { recursive: true }); for (let [path, value] of Object.entries(files)) writeFileSync(join(root, path), value); check(root); } finally { rmSync(root, { recursive: true, force: true }); } } describe("adversarial contract coverage", () => { test("local style producers expose aesthetic properties beside measured geometry", () => { let measured = `function markerStyle(marker) { let reach = marker.left + marker.width; return { top: marker.top, left: reach }; }