// @vitest-environment node import { describe, expect, it } from "vitest"; import { renderToStaticMarkup } from "react-dom/server"; import { ChatMarkdownMessage } from "./ChatMarkdownMessage"; describe("ChatMarkdownMessage", () => { it("renders plain text as a paragraph", () => { const html = renderToStaticMarkup( , ); expect(html).toContain("

"); expect(html).toContain("Hello world"); }); it("renders fenced code blocks with hljs classes applied by rehype-highlight", () => { const content = "```typescript\nconst x: number = 42;\n```"; const html = renderToStaticMarkup( , ); expect(html).toContain("hljs"); }); it("renders a copy button with aria-label='Copy code'", () => { const content = "```typescript\nconst x = 1;\n```"; const html = renderToStaticMarkup( , ); expect(html).toContain('aria-label="Copy code"'); }); it("renders a language label extracted from the code fence", () => { const content = "```typescript\nconst x = 1;\n```"; const html = renderToStaticMarkup( , ); expect(html).toContain("typescript"); }); });