opencode/packages/tui/test/util/markdown-preview.test.ts
2026-08-01 11:04:55 -04:00

25 lines
1.1 KiB
TypeScript

import { expect, test } from "bun:test"
import { markdownPreview } from "../../src/util/markdown-preview"
test("strips common Markdown presentation syntax from previews", () => {
expect(markdownPreview("The capture shows **Reset** and a _short-lived_ **override**.")).toBe(
"The capture shows Reset and a short-lived override.",
)
expect(markdownPreview("Use [`sessionRename`](https://example.com) with ~~old~~ new behavior.")).toBe(
"Use sessionRename with old new behavior.",
)
expect(markdownPreview("![diagram](image.png) Review [the result][result].")).toBe("diagram Review the result.")
})
test("flattens block syntax and code without losing its content", () => {
expect(markdownPreview("# Result\n\n- First item\n- Second `item`\n> Finished")).toBe(
"Result First item Second item Finished",
)
expect(markdownPreview("```ts\nconst answer = 42\n```")).toBe("const answer = 42")
})
test("preserves literal asterisks, globs, and escaped punctuation", () => {
expect(markdownPreview("Search **/*.ts, calculate 2 * 3, and keep \\*literal\\*. ")).toBe(
"Search **/*.ts, calculate 2 * 3, and keep *literal*.",
)
})