import { describe, expect, it } from "vitest"; import { formatBoard, formatGiveup, formatIntro, formatStats, formatTurnReply, } from "../../../src/modules/twentyq/render.js"; const baseState = (overrides = {}) => ({ category: "instrument", target: "organ", initialHint: "uses wind through pipes", startedAt: 1, solved: false, turns: [], ...overrides, }); describe("twentyq/render", () => { describe("formatIntro", () => { it("includes category and initial hint", () => { const out = formatIntro(baseState()); expect(out).toContain("instrument"); expect(out).toContain("uses wind through pipes"); }); it("HTML-escapes user-derived strings", () => { const out = formatIntro(baseState({ category: "