2024-01-02 09:18:30 +00:00
|
|
|
{it,...}:let
|
2023-12-31 00:24:48 +00:00
|
|
|
elems = import ../nixite/elems.nix;
|
2024-01-01 13:48:26 +00:00
|
|
|
style = import ../nixite/style.nix;
|
2023-12-31 00:24:48 +00:00
|
|
|
html = import ../nixite/html.nix;
|
2023-12-31 21:33:42 +00:00
|
|
|
in with elems; [
|
|
|
|
(it "makes a p tag" {
|
|
|
|
expected = html.tag "p" { } "foobar";
|
|
|
|
actual = p { } "foobar";
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a div tag" {
|
|
|
|
expected = html.tag "div" { } "foobar";
|
|
|
|
actual = div { } "foobar";
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a section tag" {
|
|
|
|
expected = html.tag "section" { } "foobar";
|
|
|
|
actual = section { } "foobar";
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a span tag" {
|
|
|
|
expected = html.tag "span" { } "foobar";
|
|
|
|
actual = span { } "foobar";
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a main tag" {
|
|
|
|
expected = html.tag "main" { } [ "yeet" ];
|
|
|
|
actual = main { } [ "yeet" ];
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a title tag" {
|
|
|
|
expected = html.tag "title" { } "foobar";
|
|
|
|
actual = title { } "foobar";
|
|
|
|
asString = true;
|
|
|
|
})
|
2024-01-01 13:48:26 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "makes an a tag" {
|
2024-01-01 13:48:26 +00:00
|
|
|
expected = html.tag "a" { href = "https://example.com"; } "example";
|
|
|
|
actual = a { href = "https://example.com"; } "example";
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
|
|
|
|
(it "lets the a tag drop the props" {
|
2024-01-01 06:33:57 +00:00
|
|
|
expected = html.tag "a" { href = "https://example.com"; } "example";
|
2023-12-31 21:33:42 +00:00
|
|
|
actual = a "https://example.com" "example";
|
|
|
|
asString = true;
|
|
|
|
})
|
2024-01-01 13:48:26 +00:00
|
|
|
|
|
|
|
(it "lets you extend the a tag" {
|
|
|
|
expected = [ "linky" ];
|
|
|
|
actual = ((style.component a "linky" { }) "https://example.com"
|
|
|
|
"example").attrs.class;
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "makes a stylesheet link" {
|
|
|
|
expected = html.tag "link" {
|
|
|
|
href = "/style";
|
|
|
|
rel = "stylesheet";
|
|
|
|
} "";
|
|
|
|
actual = Stylesheet { href = "/style"; };
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes a list" {
|
2024-01-01 06:33:57 +00:00
|
|
|
expected = html.tag "ul" { __ = ""; } [
|
2023-12-31 21:33:42 +00:00
|
|
|
(html.tag "li" { } "foo")
|
|
|
|
(html.tag "li" { } "bar")
|
|
|
|
(html.tag "li" { } "baz")
|
|
|
|
];
|
|
|
|
actual = List { } [ "foo" "bar" "baz" ];
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
(it "makes an html doc" {
|
|
|
|
expected = html.tag "html" {
|
|
|
|
__child = "";
|
|
|
|
class = [ ];
|
|
|
|
lang = "en";
|
|
|
|
} [ (html.tag "head" { } [ "foo" ]) (html.tag "body" { } "bar") ];
|
|
|
|
actual = Doc { } [ [ "foo" ] "bar" ];
|
|
|
|
asString = true;
|
|
|
|
})
|
|
|
|
]
|