nixite/testing/md.test.nix

68 lines
1.7 KiB
Nix
Raw Normal View History

2023-12-31 00:24:48 +00:00
let
md = import ../nixite/md.nix;
elems = import ../nixite/elems.nix;
it = import ./it.nix;
in
with md; [
2023-12-31 06:59:23 +00:00
(assert heading "# heading 1" == ["#" "heading 1"]; "echo gets heading 1")
(assert heading "## subheading" == ["##" "subheading"]; "echo gets heading 2")
(assert heading "some paragraph" == null; "echo paragraph is heading 0")
2023-12-31 00:24:48 +00:00
2023-12-31 06:59:23 +00:00
(assert mdBlock "# heading 1" == elems.h 1 "heading 1"; "echo makes h1 tag")
(assert mdBlock "## subheading" == elems.h 2 "subheading"; "echo makes h2 tag")
(assert mdBlock "some paragraph" == elems.p {} "some paragraph"; "echo makes p tag")
2023-12-31 00:24:48 +00:00
(it "processes md block" {
actual = readMd ''
# foo bar
lorem ipsum
'';
expected = [
(elems.h 1 "foo bar")
""
(elems.p {} "lorem ipsum\n")
2023-12-31 00:24:48 +00:00
];
})
2023-12-31 10:33:05 +00:00
(it "can fix file appendixes" {
actual = fixAppendix "index.md";
expected = "index.html";
})
(it "recursively reads dir" {
actual = recReadMd ./blog;
expected = {
"index.md" = mdToPage ./blog/index.md;
"dir" = {
"index.md" = mdToPage ./blog/dir/index.md;
};
};
})
(it "recursively fixes filename" {
actual = recFixAppendix {
"index.md" = "something";
dir = {
"index.md" = "something else";
};
};
expected = {
"index.html" = "something";
dir = {
"index.html" = "something else";
};
};
})
(it "recursively translates md to html" {
actual = builtins.toJSON ( readDir ./blog );
expected = builtins.toJSON {
"index.html" = mdToPage ./blog/index.md;
"dir" = {
"index.html" = mdToPage ./blog/dir/index.md;
};
};
})
2023-12-31 00:24:48 +00:00
]