Skip to content

Commit 08e1fa4

Browse files
chore(tests): more unit test updates
1 parent c065031 commit 08e1fa4

14 files changed

+990
-772
lines changed

Diff for: doc/render-markdown.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*render-markdown.txt* For 0.10.0 Last change: 2025 March 11
1+
*render-markdown.txt* For 0.10.0 Last change: 2025 March 14
22

33
==============================================================================
44
Table of Contents *render-markdown-table-of-contents*

Diff for: tests/ad_hoc_spec.lua

+60-50
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,80 @@
22

33
local util = require('tests.util')
44

5-
---@param start_row integer
6-
---@param end_row integer
7-
---@param level integer
8-
---@return render.md.test.MarkInfo[]
9-
local function setext_heading(start_row, end_row, level)
10-
local sign_mark, icon_mark, background_mark = unpack(util.heading(start_row, level))
11-
local icon, highlight = unpack(icon_mark.virt_text[1])
12-
13-
local result = {}
14-
for row = start_row, end_row do
15-
local row_background_mark = vim.deepcopy(background_mark)
16-
row_background_mark.row = { row, row + 1 }
17-
vim.list_extend(result, {
18-
util.inline(row, { 0, 0 }, { row == start_row and vim.trim(icon) .. ' ' or ' ', highlight }),
19-
row_background_mark,
20-
})
21-
end
22-
table.insert(result, 2, sign_mark)
23-
table.insert(result, #result, util.conceal(end_row, { 0, 3 }))
24-
return result
25-
end
26-
275
describe('ad_hoc.md', function()
286
it('custom', function()
297
util.setup('tests/data/ad_hoc.md')
308

319
local marks, row = util.marks(), util.row()
3210

33-
marks:extend(util.heading(row:get(), 1))
11+
marks
12+
:add(row:get(), nil, 0, nil, util.heading.sign(1))
13+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
14+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
3415

35-
marks:extend(setext_heading(row:inc(2), row:inc(2), 2))
16+
marks
17+
:add(row:inc(), nil, 0, nil, util.heading.sign(2))
18+
:add(row:get(), row:get(), 0, 0, {
19+
virt_text = { { '󰲣 ', 'RmH2:RmH2Bg' } },
20+
virt_text_pos = 'inline',
21+
})
22+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(2))
23+
:add(row:get(), row:get(), 0, 0, {
24+
virt_text = { { ' ', 'RmH2:RmH2Bg' } },
25+
virt_text_pos = 'inline',
26+
})
27+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(2))
28+
:add(row:get(), row:get(), 0, 0, {
29+
virt_text = { { ' ', 'RmH2:RmH2Bg' } },
30+
virt_text_pos = 'inline',
31+
})
32+
:add(row:get(), row:get(), 0, 3, util.conceal())
33+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(2))
3634

37-
marks:add(util.bullet(row:inc(2), 0, 1))
35+
marks:add(row:inc(), row:get(), 0, 2, util.bullet(1))
3836

39-
marks:add(util.bullet(row:inc(), 0, 1))
40-
marks:add(util.conceal(row:get(), { 2, 3 }))
41-
marks:add(util.inline(row:get(), { 3, 14 }, { '󱗖 ', 'RmWikiLink' }))
42-
marks:add(util.conceal(row:get(), { 14, 15 }))
37+
marks
38+
:add(row:inc(), row:get(), 0, 2, util.bullet(1))
39+
:add(row:get(), row:get(), 2, 3, util.conceal())
40+
:add(row:get(), row:get(), 3, 14, util.link('wiki'))
41+
:add(row:get(), row:get(), 14, 15, util.conceal())
4342

44-
marks:add(util.bullet(row:inc(), 0, 1))
45-
marks:add(util.conceal(row:get(), { 2, 3 }))
46-
marks:add(util.inline(row:get(), { 3, 24 }, { '󱗖 ', 'RmWikiLink' }))
47-
marks:add(util.conceal(row:get(), { 4, 13 }))
48-
marks:add(util.conceal(row:get(), { 24, 25 }))
43+
marks
44+
:add(row:inc(), row:get(), 0, 2, util.bullet(1))
45+
:add(row:get(), row:get(), 2, 3, util.conceal())
46+
:add(row:get(), row:get(), 3, 24, util.link('wiki'))
47+
:add(row:get(), row:get(), 4, 13, util.conceal())
48+
:add(row:get(), row:get(), 24, 25, util.conceal())
4949

50-
marks:add(util.bullet(row:inc(), 0, 1))
51-
marks:add(util.conceal(row:get(), { 2, 3 }))
52-
marks:add(util.inline(row:get(), { 2, 20 }, { '󰀓 ', 'RmLink' }))
53-
marks:add(util.highlight(row:get(), { 2, 20 }, 'link'))
54-
marks:add(util.conceal(row:get(), { 19, 20 }))
50+
marks
51+
:add(row:inc(), row:get(), 0, 2, util.bullet(1))
52+
:add(row:get(), row:get(), 2, 3, util.conceal())
53+
:add(row:get(), row:get(), 2, 20, util.link('email'))
54+
:add(row:get(), row:get(), 2, 20, util.highlight('link'))
55+
:add(row:get(), row:get(), 19, 20, util.conceal())
5556

56-
marks:add(util.bullet(row:inc(), 0, 1))
57-
marks:add(util.conceal(row:get(), { 2, 3 }))
58-
marks:add(util.inline(row:get(), { 2, 26 }, { '󰊤 ', 'RmLink' }))
59-
marks:add(util.highlight(row:get(), { 2, 26 }, 'link'))
60-
marks:add(util.conceal(row:get(), { 25, 26 }))
57+
marks
58+
:add(row:inc(), row:get(), 0, 2, util.bullet(1))
59+
:add(row:get(), row:get(), 2, 3, util.conceal())
60+
:add(row:get(), row:get(), 2, 26, util.link('git'))
61+
:add(row:get(), row:get(), 2, 26, util.highlight('link'))
62+
:add(row:get(), row:get(), 25, 26, util.conceal())
6163

62-
marks:add(util.bullet(row:inc(), 0, 1))
63-
marks:add(util.inline(row:get(), { 2, 61 }, { '󰗃 ', 'RmLink' }))
64+
marks:add(row:inc(), row:get(), 0, 2, util.bullet(1))
65+
marks:add(row:get(), row:get(), 2, 61, util.link('youtube'))
6466

65-
marks:add(util.bullet(row:inc(), 0, 1))
66-
marks:add(util.inline(row:get(), { 16, 25 }, { '¹ ᴵⁿᶠᵒ', 'RmLink' }, ''))
67-
marks:add(util.conceal(row:inc(2), { 0, 16 }))
68-
marks:add(util.inline(row:inc(2), { 0, 9 }, { '¹ ᴵⁿᶠᵒ', 'RmLink' }, ''))
67+
marks:add(row:inc(), row:get(), 0, 2, util.bullet(1))
68+
marks:add(row:get(), row:get(), 16, 25, {
69+
virt_text = { { '¹ ᴵⁿᶠᵒ', 'RmLink' } },
70+
virt_text_pos = 'inline',
71+
conceal = '',
72+
})
73+
marks:add(row:inc(2), row:get(), 0, 16, util.conceal())
74+
marks:add(row:inc(2), row:get(), 0, 9, {
75+
virt_text = { { '¹ ᴵⁿᶠᵒ', 'RmLink' } },
76+
virt_text_pos = 'inline',
77+
conceal = '',
78+
})
6979

7080
util.assert_view(marks, {
7181
'󰫎 1 󰲡 Heading',

Diff for: tests/box_dash_quote_spec.lua

+31-12
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,39 @@ describe('box_dash_quote.md', function()
88

99
local marks, row = util.marks(), util.row()
1010

11-
marks:extend(util.heading(row:get(), 1))
12-
13-
marks:add(util.conceal(row:inc(2), { 0, 2 }))
14-
marks:add(util.inline(row:get(), { 2, 5 }, { '󰄱 ', 'RmUnchecked' }, ''))
15-
marks:add(util.conceal(row:inc(), { 0, 2 }))
16-
marks:add(util.inline(row:get(), { 2, 5 }, { '󰱒 ', 'RmChecked' }, ''))
17-
marks:add(util.conceal(row:inc(), { 0, 2 }))
18-
marks:add(util.inline(row:get(), { 2, 5 }, { '󰥔 ', 'RmTodo' }, ''))
19-
marks:add(util.bullet(row:inc(), 0, 1))
11+
marks
12+
:add(row:get(), nil, 0, nil, util.heading.sign(1))
13+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
14+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
15+
16+
marks:add(row:inc(), row:get(), 0, 2, util.conceal())
17+
marks:add(row:get(), row:get(), 2, 5, {
18+
virt_text = { { '󰄱 ', 'RmUnchecked' } },
19+
virt_text_pos = 'inline',
20+
conceal = '',
21+
})
22+
marks:add(row:inc(), row:get(), 0, 2, util.conceal())
23+
marks:add(row:get(), row:get(), 2, 5, {
24+
virt_text = { { '󰱒 ', 'RmChecked' } },
25+
virt_text_pos = 'inline',
26+
conceal = '',
27+
})
28+
marks:add(row:inc(), row:get(), 0, 2, util.conceal())
29+
marks:add(row:get(), row:get(), 2, 5, {
30+
virt_text = { { '󰥔 ', 'RmTodo' } },
31+
virt_text_pos = 'inline',
32+
conceal = '',
33+
})
34+
marks:add(row:inc(), row:get(), 0, 2, util.bullet(1))
2035

21-
marks:add(util.overlay(row:inc(2), { 0 }, { string.rep('', vim.o.columns), 'RmDash' }))
36+
marks:add(row:inc(2), nil, 0, nil, {
37+
virt_text = { { string.rep('', vim.o.columns), 'RmDash' } },
38+
virt_text_pos = 'overlay',
39+
})
2240

23-
marks:add(util.quote(row:inc(2), ' %s ', 'RmQuote'))
24-
marks:add(util.quote(row:inc(), ' %s ', 'RmQuote'))
41+
marks
42+
:add(row:inc(2), row:get(), 0, 4, util.quote(' %s ', 'RmQuote'))
43+
:add(row:inc(), row:get(), 0, 4, util.quote(' %s ', 'RmQuote'))
2544

2645
util.assert_view(marks, {
2746
'󰫎 1 󰲡 Checkbox / Dash / Quote',

Diff for: tests/callout_spec.lua

+85-35
Original file line numberDiff line numberDiff line change
@@ -8,50 +8,100 @@ describe('callout.md', function()
88

99
local marks, row = util.marks(), util.row()
1010

11+
marks
12+
:add(row:get(), nil, 0, nil, util.heading.sign(1))
13+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
14+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
15+
1116
local info = 'RmInfo'
12-
marks:extend(util.heading(row:get(), 1))
13-
marks:add(util.quote(row:inc(2), '%s ', info))
14-
marks:add(util.overlay(row:get(), { 2, 9 }, { '󰋽 Note', info }))
15-
marks:add(util.quote(row:inc(), '%s', info))
16-
marks:add(util.quote(row:inc(), '%s ', info))
17-
marks:add(util.quote(row:inc(), '%s', info))
18-
marks:add(util.quote(row:inc(), '%s ', info))
17+
marks
18+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', info))
19+
:add(row:get(), row:get(), 2, 9, {
20+
virt_text = { { '󰋽 Note', info } },
21+
virt_text_pos = 'overlay',
22+
})
23+
:add(row:inc(), row:get(), 0, 1, util.quote('%s', info))
24+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', info))
25+
:add(row:inc(), row:get(), 0, 1, util.quote('%s', info))
26+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', info))
27+
28+
marks
29+
:add(row:inc(2), nil, 0, nil, util.heading.sign(1))
30+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
31+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
1932

2033
local ok = 'RmSuccess'
21-
marks:extend(util.heading(row:inc(2), 1))
22-
marks:add(util.quote(row:inc(2), '%s ', ok))
23-
marks:add(util.overlay(row:get(), { 2, 8 }, { '󰌶 Tip', ok }))
24-
marks:add(util.quote(row:inc(), '%s', ok))
25-
marks:add(util.quote(row:inc(), '%s ', ok))
26-
marks:extend(util.code_language(row:get(), 2, 'lua'))
27-
marks:add(util.code_row(row:get(), 2))
28-
marks:add(util.quote(row:inc(), '%s ', ok))
29-
marks:add(util.code_row(row:get(), 2))
30-
marks:add(util.quote(row:inc(), '%s ', ok))
31-
marks:add(util.code_border(row:get(), 2, false))
34+
marks
35+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', ok))
36+
:add(row:get(), row:get(), 2, 8, {
37+
virt_text = { { '󰌶 Tip', ok } },
38+
virt_text_pos = 'overlay',
39+
})
40+
:add(row:inc(), row:get(), 0, 1, util.quote('%s', ok))
41+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', ok))
42+
:add(row:get(), nil, 2, nil, util.code.sign('lua'))
43+
:add(row:get(), nil, 5, nil, util.code.icon('lua'))
44+
:add(row:get(), row:inc(), 2, 0, util.code.bg())
45+
:add(row:get(), row:get(), 0, 2, util.quote('%s ', ok))
46+
:add(row:get(), row:inc(), 2, 0, util.code.bg())
47+
:add(row:get(), row:get(), 0, 2, util.quote('%s ', ok))
48+
:add(row:get(), nil, 2, nil, util.code.border(false, vim.o.columns - 2))
49+
50+
marks
51+
:add(row:inc(2), nil, 0, nil, util.heading.sign(1))
52+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
53+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
3254

3355
local hint = 'RmHint'
34-
marks:extend(util.heading(row:inc(2), 1))
35-
marks:add(util.quote(row:inc(2), '%s ', hint))
36-
marks:add(util.overlay(row:get(), { 2, 14 }, { '󰅾 Important', hint }))
37-
marks:add(util.quote(row:inc(), '%s ', hint))
56+
marks
57+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', hint))
58+
:add(row:get(), row:get(), 2, 14, {
59+
virt_text = { { '󰅾 Important', hint } },
60+
virt_text_pos = 'overlay',
61+
})
62+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', hint))
63+
64+
marks
65+
:add(row:inc(2), nil, 0, nil, util.heading.sign(1))
66+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
67+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
3868

3969
local warn = 'RmWarn'
40-
marks:extend(util.heading(row:inc(2), 1))
41-
marks:add(util.quote(row:inc(2), '%s ', warn))
42-
marks:add(util.overlay(row:get(), { 2, 12 }, { '󰀪 Custom Title', warn }, ''))
43-
marks:add(util.quote(row:inc(), '%s ', warn))
70+
marks
71+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', warn))
72+
:add(row:get(), row:get(), 2, 12, {
73+
virt_text = { { '󰀪 Custom Title', warn } },
74+
virt_text_pos = 'overlay',
75+
conceal = '',
76+
})
77+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', warn))
78+
79+
marks
80+
:add(row:inc(2), nil, 0, nil, util.heading.sign(1))
81+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
82+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
4483

4584
local err = 'RmError'
46-
marks:extend(util.heading(row:inc(2), 1))
47-
marks:add(util.quote(row:inc(2), '%s ', err))
48-
marks:add(util.overlay(row:get(), { 2, 12 }, { '󰳦 Caution', err }))
49-
marks:add(util.quote(row:inc(), '%s ', err))
50-
51-
marks:extend(util.heading(row:inc(2), 1))
52-
marks:add(util.quote(row:inc(2), '%s ', err))
53-
marks:add(util.overlay(row:get(), { 2, 8 }, { '󰨰 Bug', err }))
54-
marks:add(util.quote(row:inc(), '%s ', err))
85+
marks
86+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', err))
87+
:add(row:get(), row:get(), 2, 12, {
88+
virt_text = { { '󰳦 Caution', err } },
89+
virt_text_pos = 'overlay',
90+
})
91+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', err))
92+
93+
marks
94+
:add(row:inc(2), nil, 0, nil, util.heading.sign(1))
95+
:add(row:get(), row:get(), 0, 1, util.heading.icon(1))
96+
:add(row:get(), row:inc(), 0, 0, util.heading.bg(1))
97+
98+
marks
99+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', err))
100+
:add(row:get(), row:get(), 2, 8, {
101+
virt_text = { { '󰨰 Bug', err } },
102+
virt_text_pos = 'overlay',
103+
})
104+
:add(row:inc(), row:get(), 0, 2, util.quote('%s ', err))
55105

56106
util.assert_view(marks, {
57107
'󰫎 1 󰲡 Note',

0 commit comments

Comments
 (0)