Files
llm-wiki/workbench/web/test/markdown-view.test.tsx
T
2026-07-12 21:26:08 +08:00

35 lines
1.1 KiB
TypeScript

import { describe, it } from "node:test";
import assert from "node:assert/strict";
import React from "react";
import { MarkdownView } from "../src/components/MarkdownView";
import { click, render, screen } from "./render";
describe("MarkdownView Paper styling", () => {
it("renders wiki links with the Paper concept-link class and preserves open-page clicks", async () => {
const opened: string[] = [];
render(
<MarkdownView
content="See [[wiki/topics/paper.md]] next."
onOpenPage={(path) => opened.push(path)}
autoEmitWikiLinks={false}
/>,
);
const link = screen.getByRole("link", { name: "wiki/topics/paper.md" });
assert.equal(link.getAttribute("href"), "wiki/topics/paper.md");
assert.match(link.className, /\bat\b/);
await click(link);
assert.deepEqual(opened, ["wiki/topics/paper.md"]);
});
it("renders double-equals highlights as Paper marker spans", () => {
render(<MarkdownView content="This is ==important context== for synthesis." autoEmitWikiLinks={false} />);
const highlight = screen.getByText("important context");
assert.equal(highlight.tagName, "MARK");
assert.match(highlight.className, /\bhl\b/);
});
});