|
2 | 2 |
|
3 | 3 | local util = require('tests.util') |
4 | 4 |
|
5 | | -describe('ad_hoc.md', function() |
6 | | - it('custom', function() |
7 | | - util.setup('tests/data/ad_hoc.md') |
8 | | - |
9 | | - local marks, row = util.marks(), util.row() |
10 | | - |
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 |
17 | | - :add(row:inc(), nil, 0, nil, util.heading.sign(2)) |
18 | | - :add(row:get(), row:get(), 0, 0, { |
| 5 | +describe('ad hoc', function() |
| 6 | + it('setext', function() |
| 7 | + util.setup.text({ |
| 8 | + 'Heading 2 Line 1', |
| 9 | + 'Heading 2 Line 2', |
| 10 | + '---', |
| 11 | + }) |
| 12 | + local marks = util.marks() |
| 13 | + :add(0, nil, 0, nil, util.heading.sign(2)) |
| 14 | + :add(0, 0, 0, 0, { |
19 | 15 | virt_text = { { ' ', 'RmH2:RmH2Bg' } }, |
20 | 16 | virt_text_pos = 'inline', |
21 | 17 | }) |
22 | | - :add(row:get(), row:inc(), 0, 0, util.heading.bg(2)) |
23 | | - :add(row:get(), row:get(), 0, 0, { |
| 18 | + :add(0, 1, 0, 0, util.heading.bg(2)) |
| 19 | + :add(1, 1, 0, 0, { |
24 | 20 | virt_text = { { ' ', 'RmH2:RmH2Bg' } }, |
25 | 21 | virt_text_pos = 'inline', |
26 | 22 | }) |
27 | | - :add(row:get(), row:inc(), 0, 0, util.heading.bg(2)) |
28 | | - :add(row:get(), row:get(), 0, 0, { |
| 23 | + :add(1, 2, 0, 0, util.heading.bg(2)) |
| 24 | + :add(2, 2, 0, 0, { |
29 | 25 | virt_text = { { ' ', 'RmH2:RmH2Bg' } }, |
30 | 26 | virt_text_pos = 'inline', |
31 | 27 | }) |
32 | | - :add(row:get(), row:get(), 0, 3, util.conceal()) |
33 | | - :add(row:get(), row:inc(), 0, 0, util.heading.bg(2)) |
| 28 | + :add(2, 2, 0, 3, util.conceal()) |
| 29 | + :add(2, 3, 0, 0, util.heading.bg(2)) |
| 30 | + util.assert_view(marks, { |
| 31 | + ' Heading 2 Line 1', |
| 32 | + ' Heading 2 Line 2', |
| 33 | + '', |
| 34 | + }) |
| 35 | + end) |
34 | 36 |
|
35 | | - marks:add(row:inc(), row:get(), 0, 2, util.bullet(1)) |
| 37 | + it('shortcut', function() |
| 38 | + util.setup.text({ '- [Normal Shortcut]' }) |
| 39 | + local marks = util.marks() |
| 40 | + marks:add(0, 0, 0, 2, util.bullet(1)) |
| 41 | + util.assert_view(marks, { '● Normal Shortcut' }) |
| 42 | + end) |
36 | 43 |
|
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()) |
| 44 | + it('wikilink', function() |
| 45 | + util.setup.text({ '- [[Basic One]] Then normal text' }) |
| 46 | + local marks = util.marks() |
| 47 | + :add(0, 0, 0, 2, util.bullet(1)) |
| 48 | + :add(0, 0, 2, 3, util.conceal()) |
| 49 | + :add(0, 0, 3, 14, util.link('wiki')) |
| 50 | + :add(0, 0, 14, 15, util.conceal()) |
| 51 | + util.assert_view(marks, { '● Basic One Then normal text' }) |
| 52 | + end) |
42 | 53 |
|
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()) |
| 54 | + it('wikilink with alias', function() |
| 55 | + util.setup.text({ '- [[Nickname|With Alias]] Something important' }) |
| 56 | + local marks = util.marks() |
| 57 | + :add(0, 0, 0, 2, util.bullet(1)) |
| 58 | + :add(0, 0, 2, 3, util.conceal()) |
| 59 | + :add(0, 0, 3, 24, util.link('wiki')) |
| 60 | + :add(0, 0, 4, 13, util.conceal()) |
| 61 | + :add(0, 0, 24, 25, util.conceal()) |
| 62 | + util.assert_view(marks, { '● With Alias Something important' }) |
| 63 | + end) |
49 | 64 |
|
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()) |
| 65 | + it('email', function() |
| 66 | + util.setup.text({ '- <test@example.com> Email' }) |
| 67 | + local marks = util.marks() |
| 68 | + :add(0, 0, 0, 2, util.bullet(1)) |
| 69 | + :add(0, 0, 2, 3, util.conceal()) |
| 70 | + :add(0, 0, 2, 20, util.link('email')) |
| 71 | + :add(0, 0, 2, 20, util.highlight('link')) |
| 72 | + :add(0, 0, 19, 20, util.conceal()) |
| 73 | + util.assert_view(marks, { '● test@example.com Email' }) |
| 74 | + end) |
56 | 75 |
|
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()) |
| 76 | + it('bare url', function() |
| 77 | + util.setup.text({ '- <http://www.github.com/> Bare URL' }) |
| 78 | + local marks = util.marks() |
| 79 | + :add(0, 0, 0, 2, util.bullet(1)) |
| 80 | + :add(0, 0, 2, 3, util.conceal()) |
| 81 | + :add(0, 0, 2, 26, util.link('git')) |
| 82 | + :add(0, 0, 2, 26, util.highlight('link')) |
| 83 | + :add(0, 0, 25, 26, util.conceal()) |
| 84 | + util.assert_view(marks, { '● http://www.github.com/ Bare URL' }) |
| 85 | + end) |
63 | 86 |
|
64 | | - marks:add(row:inc(), row:get(), 0, 2, util.bullet(1)) |
65 | | - marks:add(row:get(), row:get(), 2, 61, util.link('youtube')) |
| 87 | + it('youtube', function() |
| 88 | + util.setup.text({ '- [Youtube Link](https://www.youtube.com/watch?v=dQw4w9WgXcQ)' }) |
| 89 | + local marks = util.marks() |
| 90 | + marks:add(0, 0, 0, 2, util.bullet(1)) |
| 91 | + marks:add(0, 0, 2, 61, util.link('youtube')) |
| 92 | + util.assert_view(marks, { '● Youtube Link' }) |
| 93 | + end) |
66 | 94 |
|
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 = '', |
| 95 | + it('footnote', function() |
| 96 | + util.setup.text({ |
| 97 | + '- Footnote Link [^1 Info]', |
| 98 | + '[^1 Info]: Some Info', |
78 | 99 | }) |
79 | | - |
| 100 | + local marks = util.marks() |
| 101 | + :add(0, 0, 0, 2, util.bullet(1)) |
| 102 | + :add(0, 0, 16, 25, { |
| 103 | + virt_text = { { '¹ ᴵⁿᶠᵒ', 'RmLink' } }, |
| 104 | + virt_text_pos = 'inline', |
| 105 | + conceal = '', |
| 106 | + }) |
| 107 | + :add(1, 1, 0, 9, { |
| 108 | + virt_text = { { '¹ ᴵⁿᶠᵒ', 'RmLink' } }, |
| 109 | + virt_text_pos = 'inline', |
| 110 | + conceal = '', |
| 111 | + }) |
80 | 112 | util.assert_view(marks, { |
81 | | - ' 1 Heading', |
82 | | - ' 2', |
83 | | - ' 3 Heading 2 Line 1', |
84 | | - ' 4 Heading 2 Line 2', |
85 | | - ' 5', |
86 | | - ' 6', |
87 | | - ' 7 ● Normal Shortcut', |
88 | | - ' 8 ● Basic One Then normal text', |
89 | | - ' 9 ● With Alias Something important', |
90 | | - ' 10 ● test@example.com Email', |
91 | | - ' 11 ● http://www.github.com/ Bare URL', |
92 | | - ' 12 ● Youtube Link', |
93 | | - ' 13 ● Footnote Link ¹ ᴵⁿᶠᵒ', |
94 | | - ' 14', |
95 | | - ' 15', |
96 | | - ' 16', |
97 | | - ' 17 ¹ ᴵⁿᶠᵒ: Some Info', |
| 113 | + '● Footnote Link ¹ ᴵⁿᶠᵒ', |
| 114 | + '¹ ᴵⁿᶠᵒ: Some Info', |
98 | 115 | }) |
99 | 116 | end) |
| 117 | + |
| 118 | + it('html comment', function() |
| 119 | + util.setup.text({ '<!-- comment -->' }) |
| 120 | + local marks = util.marks() |
| 121 | + marks:add(0, 0, 0, 16, util.conceal()) |
| 122 | + util.assert_view(marks, { '' }) |
| 123 | + end) |
100 | 124 | end) |
0 commit comments