Skip to content

Commit 73b484c

Browse files
committed
patch 8.0.0131
Problem: Not enough test coverage for syntax commands. Solution: Add more tests. (Dominique Pelle)
1 parent 63de19e commit 73b484c

File tree

2 files changed

+79
-1
lines changed

2 files changed

+79
-1
lines changed

src/testdir/test_syntax.vim

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func Test_syn_iskeyword()
5454
setlocal isk-=_
5555
call assert_equal('DLTD_BY', GetSyntaxItem('DLTD'))
5656
/\<D\k\+\>/:norm! ygn
57-
let b2=@0
57+
let b2 = @0
5858
call assert_equal('DLTD', @0)
5959

6060
syn iskeyword clear
@@ -80,3 +80,79 @@ func Test_syntax_after_reload()
8080
call assert_true(exists('g:gotit'))
8181
call delete('Xsomefile')
8282
endfunc
83+
84+
func Test_syntime()
85+
if !has('profile')
86+
finish
87+
endif
88+
89+
syntax on
90+
syntime on
91+
let a = execute('syntime report')
92+
call assert_equal("\nNo Syntax items defined for this buffer", a)
93+
94+
view ../memfile_test.c
95+
setfiletype cpp
96+
redraw
97+
let a = execute('syntime report')
98+
call assert_match('^ TOTAL *COUNT *MATCH *SLOWEST *AVERAGE *NAME *PATTERN', a)
99+
call assert_match(' \d*\.\d* \+[^0]\d* .* cppRawString ', a)
100+
call assert_match(' \d*\.\d* \+[^0]\d* .* cppNumber ', a)
101+
102+
syntime off
103+
syntime clear
104+
let a = execute('syntime report')
105+
call assert_match('^ TOTAL *COUNT *MATCH *SLOWEST *AVERAGE *NAME *PATTERN', a)
106+
call assert_notmatch('.* cppRawString *', a)
107+
call assert_notmatch('.* cppNumber*', a)
108+
call assert_notmatch('[1-9]', a)
109+
110+
call assert_fails('syntime abc', 'E475')
111+
112+
syntax clear
113+
let a = execute('syntime report')
114+
call assert_equal("\nNo Syntax items defined for this buffer", a)
115+
116+
bd
117+
endfunc
118+
119+
func Test_syntax_list()
120+
syntax on
121+
let a = execute('syntax list')
122+
call assert_equal("\nNo Syntax items defined for this buffer", a)
123+
124+
view ../memfile_test.c
125+
setfiletype c
126+
127+
let a = execute('syntax list')
128+
call assert_match('cInclude*', a)
129+
call assert_match('cDefine', a)
130+
131+
let a = execute('syntax list cDefine')
132+
call assert_notmatch('cInclude*', a)
133+
call assert_match('cDefine', a)
134+
call assert_match(' links to Macro$', a)
135+
136+
call assert_fails('syntax list ABCD', 'E28:')
137+
call assert_fails('syntax list @ABCD', 'E392:')
138+
139+
syntax clear
140+
let a = execute('syntax list')
141+
call assert_equal("\nNo Syntax items defined for this buffer", a)
142+
143+
bd
144+
endfunc
145+
146+
func Test_syntax_completion()
147+
call feedkeys(":syn \<C-A>\<C-B>\"\<CR>", 'tx')
148+
call assert_equal('"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync', @:)
149+
150+
call feedkeys(":syn case \<C-A>\<C-B>\"\<CR>", 'tx')
151+
call assert_equal('"syn case ignore match', @:)
152+
153+
call feedkeys(":syn list \<C-A>\<C-B>\"\<CR>", 'tx')
154+
call assert_match('^"syn list Boolean Character ', @:)
155+
156+
call feedkeys(":syn match \<C-A>\<C-B>\"\<CR>", 'tx')
157+
call assert_match('^"syn match Boolean Character ', @:)
158+
endfunc

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,8 @@ static char *(features[]) =
764764

765765
static int included_patches[] =
766766
{ /* Add new patch number below this line */
767+
/**/
768+
131,
767769
/**/
768770
130,
769771
/**/

0 commit comments

Comments
 (0)