all repos

olexsmir.xyz @ 98f7781

my site, yes, i like lua

olexsmir.xyz/lua/tests/post_test.lua(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
local t = require "tests.testutils"
local _, T, post = t.setup "post"

local p = require "lego.post"

post["read fixture"] = function()
  local inp = p.read_file { "lua", "tests", "fixture.md" }

  t.eq(inp.meta.date, "2025-09-30")
  t.eq(inp.meta.slug, "testing")
  t.eq(inp.meta.title, "This is fixture")
  t.eq(inp.meta.desc, "testing testers test")

  t.eq(inp.content, "<h1>Content</h1>\n<p>Here's the content.</p>\n")
end

post["sort_by_date"] = function()
  local input = {
    { meta = { date = "2025-09-30" } },
    { meta = { date = "2024-09-30" } },
    { meta = { date = "2025-08-30" } },
    { meta = { date = "2025-09-28" } },
    { meta = { date = "2025-06-30" } },
    { meta = { date = "2025-07-04" } },
    { meta = { date = "2025-06-21" } },
    { meta = { date = "2025-06-13" } },
    { meta = { date = "2025-06-21" } },
  }

  p.sort_by_date(input)

  t.eq(input, {
    { meta = { date = "2025-09-30" } },
    { meta = { date = "2025-09-28" } },
    { meta = { date = "2025-08-30" } },
    { meta = { date = "2025-07-04" } },
    { meta = { date = "2025-06-30" } },
    { meta = { date = "2025-06-21" } },
    { meta = { date = "2025-06-21" } },
    { meta = { date = "2025-06-13" } },
    { meta = { date = "2024-09-30" } },
  })
end

return T