Files
plainleaf/plug-api/lib/feed.test.ts
T
Zef HemelandGitHub 6b69449d05 More JSR (#1027)
* Move all syscalls to JSR-style package naming
* Eliminating some prefixes in import maps
2024-08-06 20:11:38 +02:00

45 lines
1016 B
TypeScript

import "./syscall_mock.ts";
import { parse } from "$common/markdown_parser/parse_tree.ts";
import { assertEquals } from "@std/assert";
import { extractFeedItems } from "./feed.ts";
import { extendedMarkdownLanguage } from "$common/markdown_parser/parser.ts";
const feedSample1 = `---
test: ignore me
---
# My first item
$myid
Some text
---
# My second item
[id: myid2][otherAttribute: 42]
And some text
---
Completely free form
`;
Deno.test("Test feed parsing", async () => {
// Ad hoc added the NamedAnchor extension from the core plug-in inline here
const tree = parse(extendedMarkdownLanguage, feedSample1);
const items = await extractFeedItems(tree);
assertEquals(items.length, 3);
assertEquals(items[0], {
id: "myid",
text: "Some text",
title: "My first item",
});
assertEquals(items[1], {
id: "myid2",
attributes: {
otherAttribute: 42,
},
title: "My second item",
text: "And some text",
});
assertEquals(items[2].text, "Completely free form");
});