36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
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("", "Image"), "cat");
|
|
assertEquals(markdownToPlainText("", "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 ,
|
|
"pic alt",
|
|
);
|
|
assertEquals(
|
|
markdownToPlainText("pic ,
|
|
"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");
|
|
});
|