Skip to content

Commit 8e944c7

Browse files
committed
Added test_regex.vim that I forgot
1 parent 4c3a1dd commit 8e944c7

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

test/test_regex.vim

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
vim9script noclear
2+
3+
import "../after/ftplugin/markdown.vim"
4+
5+
var italic_regex = markdown.italic_regex
6+
var bold_regex = markdown.bold_regex
7+
var code_regex = markdown.code_regex
8+
var strikethrough_regex = markdown.strikethrough_regex
9+
10+
var src_name = 'testfile.md'
11+
12+
def Generate_markdown_testfile()
13+
var lines =<< trim END
14+
Sed ut perspiciatis unde omnis iste **natus error sit voluptatem
15+
accusantium** doloremque *laudantium, totam rem aperiam, eaque ipsa quae
16+
ab illo inventore veritatis *et quasi architecto beatae vitae dicta
17+
sunt \*\*explicabo. Nemo *enim ipsam voluptatem* quia voluptas sit
18+
aspernatur **aut odit aut fugit,** sed quia consequuntur magni dolores eos
19+
qui ~~ratione voluptatem sequi nesciunt.~~
20+
21+
Neque porro quisquam \**est*\*, qui dolorem ipsum quia dolor sit amet,
22+
consectetur, adipisci velit, sed quia non numquam eius modi tempora
23+
incidunt ut labore et dolore *\*magnam\** aliquam quaerat voluptatem. Ut
24+
enim ad \~ minima veniam, quis nostrum exercitationem ullam corporis
25+
suscipit laboriosam, nisi \*ut aliquid ex ea \~~commodi consequatur?
26+
27+
Quis autem ~vel eum iure reprehenderit qui in ea voluptate velit esse
28+
quam nihil molestiae consequatur,~ vel `illum qui \~ dolorem eum` fugiat quo
29+
voluptas nulla \` pariatur``?
30+
END
31+
writefile(lines, src_name)
32+
enddef
33+
34+
def Cleanup_markdown_testfile()
35+
delete(src_name)
36+
enddef
37+
38+
# Tests start here
39+
def g:Test_regex()
40+
Generate_markdown_testfile()
41+
42+
exe $"edit {src_name}"
43+
setlocal conceallevel=0
44+
45+
# Italic
46+
var expected_pos = [[2, 26], [3, 29], [4, 26], [4, 48],
47+
[8, 24], [8, 28], [10, 30], [10, 41], [0, 0]]
48+
var actual_pos = []
49+
var tmp = []
50+
cursor(1, 1)
51+
while tmp != [0, 0]
52+
tmp = searchpos(italic_regex, 'W')
53+
add(actual_pos, tmp)
54+
endwhile
55+
assert_equal(expected_pos, actual_pos)
56+
57+
# Bold
58+
expected_pos = [[1, 37], [2, 12], [5, 12], [5, 33], [0, 0]]
59+
actual_pos = []
60+
tmp = []
61+
cursor(1, 1)
62+
while tmp != [0, 0]
63+
tmp = searchpos(bold_regex, 'W')
64+
add(actual_pos, tmp)
65+
endwhile
66+
assert_equal(expected_pos, actual_pos)
67+
68+
# Code
69+
expected_pos = [[15, 40], [15, 65], [0, 0]]
70+
actual_pos = []
71+
tmp = []
72+
cursor(1, 1)
73+
while tmp != [0, 0]
74+
tmp = searchpos(code_regex, 'W')
75+
add(actual_pos, tmp)
76+
endwhile
77+
assert_equal(expected_pos, actual_pos)
78+
79+
# Strkethrough
80+
expected_pos = [[6, 5], [6, 41], [0, 0]]
81+
actual_pos = []
82+
tmp = []
83+
cursor(1, 1)
84+
while tmp != [0, 0]
85+
tmp = searchpos(strikethrough_regex, 'W')
86+
add(actual_pos, tmp)
87+
endwhile
88+
assert_equal(expected_pos, actual_pos)
89+
90+
# redraw!
91+
# sleep 3
92+
:%bw!
93+
Cleanup_markdown_testfile()
94+
enddef

0 commit comments

Comments
 (0)