import { describe, expect, it } from "vitest"; import { isMarkdown, renderMarkdown } from "@/lib/markdown"; describe("isMarkdown", () => { it("takes the type when there is one", () => { expect(isMarkdown("text/markdown", "a")).toBe(true); expect(isMarkdown("text/x-markdown; charset=utf-8", "a")).toBe(true); expect(isMarkdown("text/plain", "notes.txt")).toBe(false); }); it("falls back to the name, which is the usual case for an upload", () => { expect(isMarkdown("application/octet-stream", "README.md")).toBe(true); expect(isMarkdown("application/octet-stream", "NOTES.MARKDOWN")).toBe(true); expect(isMarkdown(null, "changelog.mkd")).toBe(true); expect(isMarkdown(null, "readme.txt")).toBe(false); expect(isMarkdown(null, null)).toBe(false); }); }); describe("renderMarkdown", () => { it("renders the ordinary things", () => { const html = renderMarkdown("# Title\n\nSome **bold** and `code`.\n\n- one\n- two\n"); expect(html).toContain("
code");
expect(html).toContain("