import { createElement } from "react"; import { renderToStaticMarkup } from "react-dom/server"; import { describe, expect, test } from "vitest"; import { MessageMarkdown } from "../../src/renderer/src/pages/chat/MessageMarkdown"; const render = (body: string, mentions: Array<{ start: number; end: number }> = []) => renderToStaticMarkup(createElement(MessageMarkdown, { body, mentions, renderMention: (index: number) => createElement("b", { "data-chip": index }, "CHIP"), })); describe("message markdown", () => { test("renders code blocks, tables and nested lists instead of raw markup", () => { const html = render("Plan:\n\n```ts\nconst a = 1;\n```\n\n| A | B |\n| - | - |\n| 1 | 2 |\n\n- one\n - nested\n- two"); expect(html).toContain("
2");
expect(html).toMatch(/