import { expect, test } from "bun:test"; import { encodeControlTemplate, renderControlTemplates } from "../src/control-templates.ts"; import { runWithRequestContext } from "../src/request-context.ts"; import { createContext } from "../src/context.ts"; import { resolveRequestUrl } from "../src/headers.ts"; test("nested controls use short references and HTML-safe isolated registries", async () => { const results = await Promise.all(["first", "second"].map((name) => runWithRequestContext({} as never, async () => { let body = `

${name}

`; for (let i = 0; i < 30; i++) { body = ``; } await Promise.resolve(); const html = renderControlTemplates(); expect(html.length).toBeLessThan(7000); expect(html.match(/<\/script>/g)).toHaveLength(1); return html; }), )); expect(results[0]).toContain("first"); expect(results[0]).not.toContain("second"); expect(results[1]).not.toContain("first"); expect(renderControlTemplates()).toBe(""); }); test("standalone rendering keeps the base64 format", () => { expect(JSON.parse(Buffer.from(encodeControlTemplate([1]), "base64").toString())).toEqual([1]); }); test("trusted proxy request URL and body agree with context; untrusted headers are ignored", async () => { for (const trust of [true, false]) { const request = new Request("http://internal:3000/api/captcha/challenge", { method: "POST", body: '{"test":1}', headers: { "x-forwarded-proto": "https", "x-forwarded-host": "wrnexus.com", origin: "https://evil.example" }, }); const context = createContext(request, resolveRequestUrl(request, trust)); expect(context.req.url).toBe(context.url.href); expect(context.url.origin).toBe(trust ? "https://wrnexus.com" : "http://internal:3000"); expect(context.req.headers.get("origin")).toBe("https://evil.example"); expect(await context.req.json()).toEqual({ test: 1 }); } });