all repos

olexsmir.xyz @ 620792cf2ab97761a56488444d1732ee99e76f22

my site, yes, i like lua

olexsmir.xyz/lua/tests/frontmatter_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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
local t = require "tests.testutils"
local _, T, frontmatter = t.setup "frontmatter"

local f = require "lego.frontmatter"

frontmatter["should extract from frontmatter"] = function()
  local input = {
    "---",
    "title=The title",
    "link=test",
    "---",
    "the content is here",
  }

  t.eq(f.extract(input), {
    title = "The title",
    link = "test",
  })
end

frontmatter["support options with spaces"] = function()
  local input = {
    "---",
    "title = The title",
    "link one = some long thing here",
    "---",
    "the content is here",
  }

  t.eq(f.extract(input), {
    title = "The title",
    ["link one"] = "some long thing here",
  })
end

frontmatter["should return {} if there's no frontmatter"] = function()
  local input = {
    "there's no frontmatter",
    "just text",
  }

  t.eq(f.extract(input), {})
end

frontmatter["should return empty list if frontmatter is empty"] = function()
  local input = {
    "---",
    "---",
    "there's no frontmatter",
    "just text",
  }

  t.eq(f.extract(input), {})
end

frontmatter["should extract content"] = function()
  local input = {
    "---",
    "title = The title",
    "link one = some long thing here",
    "---",
    "the content is here",
    "",
    "something",
  }

  t.eq(f.content(input), {
    "the content is here",
    "",
    "something",
  })
end

frontmatter["should extract content with no frontmatter"] = function()
  local input = {
    "the content is here",
    "",
    "something",
  }

  t.eq(f.content(input), {
    "the content is here",
    "",
    "something",
  })
end

return T