import { renderTui } from "./ui-test-helpers.js"; import { Markdown } from "../src/components/chat/terminal-chat-response-item.js"; import React from "react"; import { it, expect } from "vitest"; /** Simple sanity check that the Markdown component renders bold/italic text. * We strip ANSI codes, so the output should contain the raw words. */ it("renders basic markdown", () => { const { lastFrameStripped } = renderTui( **bold** _italic_, ); const frame = lastFrameStripped(); expect(frame).toContain("bold"); expect(frame).toContain("italic"); }); it("renders markdown with citations", () => { const { lastFrame } = renderTui( File with TODO: 【F:src/approvals.ts†L40】 , ); const outputWithAnsi = lastFrame(); expect(outputWithAnsi).toBe( "File with TODO:" + "\x1B[0m\x1B[34m\x1B]8;;vscode://file/foo/bar/src/approvals.ts:40\x07\x1B[34m\x1B[4msrc/approvals.ts\x1B[24m\x1B[39m\x1B[34m\x1B]8;;\x07\x1B[39m\x1B[0m\n" + "\n", ); });