import { assertEquals } from "@std/assert"; import { markdownToPlainText } from "../markdown.ts"; Deno.test("markdownToPlainText: links become their text, images their alt or a label", () => { assertEquals( markdownToPlainText("see [this](https://x.y) now", "img"), "see this now", ); assertEquals(markdownToPlainText("![cat](a.png)", "Image"), "cat"); assertEquals(markdownToPlainText("![](a.png)", "Image"), "Image"); }); Deno.test("markdownToPlainText: markup characters and block markers go", () => { assertEquals( markdownToPlainText("# Title\n> quote\n- **bold** `code`", ""), "Title quote bold code", ); }); Deno.test("markdownToPlainText: a body cut off mid-link doesn't show a half URL", () => { assertEquals( markdownToPlainText("look [here](https://exa", "img"), "look here", ); assertEquals( markdownToPlainText("pic ![alt](https://exa", "Image"), "pic alt", ); assertEquals( markdownToPlainText("pic ![](https://exa", "Image"), "pic Image", ); assertEquals(markdownToPlainText("pic ![unfinished", "Image"), "pic"); }); Deno.test("markdownToPlainText: whitespace collapses to one line", () => { assertEquals(markdownToPlainText("a\n\n b\tc", ""), "a b c"); });