2023-12-31 00:24:48 +00:00
|
|
|
let
|
2023-12-31 04:27:09 +00:00
|
|
|
html = import ../nixite/html.nix;
|
2023-12-31 00:24:48 +00:00
|
|
|
elems = import ../nixite/elems.nix;
|
|
|
|
site = import ../nixite/site.nix;
|
|
|
|
it = import ./it.nix;
|
|
|
|
in
|
|
|
|
with site; [
|
|
|
|
(it "applies a style" {
|
|
|
|
expected = {
|
2023-12-31 04:27:09 +00:00
|
|
|
"index.html" = html.tag "html" {} [
|
|
|
|
(html.tag "head" {} [(elems.title {} "foobar") (elems.stylesheet "/style.css")])
|
|
|
|
(elems.main {} "something")
|
|
|
|
];
|
2023-12-31 00:24:48 +00:00
|
|
|
blog = {
|
2023-12-31 04:27:09 +00:00
|
|
|
"index.html" = html.tag "html" {} [
|
|
|
|
(html.tag "head" {} [(elems.title {} "foobar") (elems.stylesheet "/style.css")])
|
|
|
|
(elems.main {} "blogy blog")
|
|
|
|
];
|
2023-12-31 00:24:48 +00:00
|
|
|
};
|
|
|
|
"style.css" = ''
|
|
|
|
this is a stylesheet
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
actual =
|
|
|
|
applyStyle ''
|
|
|
|
this is a stylesheet
|
|
|
|
'' {
|
2023-12-31 04:27:09 +00:00
|
|
|
"index.html" = html.tag "html" {} [
|
|
|
|
(html.tag "head" {} [(elems.title {} "foobar")])
|
|
|
|
(elems.main {} "something")
|
|
|
|
];
|
2023-12-31 00:24:48 +00:00
|
|
|
blog = {
|
2023-12-31 04:27:09 +00:00
|
|
|
"index.html" = html.tag "html" {} [
|
|
|
|
(html.tag "head" {} [(elems.title {} "foobar")])
|
|
|
|
(elems.main {} "blogy blog")
|
|
|
|
];
|
2023-12-31 00:24:48 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
})
|
2023-12-31 09:15:25 +00:00
|
|
|
(it "extracts top level paths" {
|
|
|
|
actual = getPaths {
|
|
|
|
something = "";
|
|
|
|
src = ./src/index.md;
|
|
|
|
};
|
|
|
|
expected = {
|
|
|
|
"index.md" = ./src/index.md;
|
|
|
|
};
|
|
|
|
})
|
|
|
|
(it "extracts lower level paths" {
|
|
|
|
actual = getPaths {
|
|
|
|
something = "yes";
|
|
|
|
a-list = [
|
|
|
|
{thingy = ./src/index.md;}
|
|
|
|
[(html.tag "img" {src = ./src/favicon.png;} "")]
|
|
|
|
];
|
|
|
|
};
|
|
|
|
expected = {
|
|
|
|
"index.md" = ./src/index.md;
|
|
|
|
"favicon.png" = ./src/favicon.png;
|
|
|
|
};
|
|
|
|
})
|
|
|
|
(it "switches paths" {
|
|
|
|
actual = switchPaths {
|
|
|
|
something = "";
|
|
|
|
a-thing = {
|
|
|
|
src = ./src/index.md;
|
|
|
|
};
|
|
|
|
a-list = [
|
|
|
|
{thingy = ./src/index.md;}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
expected = {
|
|
|
|
something = "";
|
|
|
|
a-thing = {
|
|
|
|
src = "/static/index.md";
|
|
|
|
};
|
|
|
|
a-list = [
|
|
|
|
{thingy = "/static/index.md";}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|
|
|
|
|
|
|
|
(it "extracts paths" {
|
|
|
|
actual = extractPaths {
|
|
|
|
something = "";
|
|
|
|
a-thing = {
|
|
|
|
src = ./src/index.md;
|
|
|
|
};
|
|
|
|
a-list = [
|
|
|
|
{thingy = ./src/index.md;}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
expected = {
|
|
|
|
something = "";
|
|
|
|
a-thing = {
|
|
|
|
src = "/static/index.md";
|
|
|
|
};
|
|
|
|
a-list = [
|
|
|
|
{thingy = "/static/index.md";}
|
|
|
|
];
|
|
|
|
static = {
|
|
|
|
"index.md" = ./src/index.md;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
})
|
|
|
|
|
2023-12-31 00:24:48 +00:00
|
|
|
]
|