xref: /vim-8.2.3635/src/testdir/vim9.vim (revision 1d634542)
1" Utility functions for testing vim9 script
2
3" Check that "lines" inside ":def" has no error.
4func CheckDefSuccess(lines)
5  call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef')
6  so Xdef
7  call Func()
8  call delete('Xdef')
9endfunc
10
11" Check that "lines" inside ":def" results in an "error" message.
12" If "lnum" is given check that the error is reported for this line.
13func CheckDefFailure(lines, error, lnum = -1)
14  call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef')
15  call assert_fails('so Xdef', a:error, a:lines, a:lnum)
16  call delete('Xdef')
17endfunc
18
19" Check that "lines" inside ":def" results in an "error" message when executed.
20" If "lnum" is given check that the error is reported for this line.
21func CheckDefExecFailure(lines, error, lnum = -1)
22  call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef')
23  so Xdef
24  call assert_fails('call Func()', a:error, a:lines, a:lnum)
25  call delete('Xdef')
26endfunc
27
28def CheckScriptFailure(lines: list<string>, error: string)
29  writefile(lines, 'Xdef')
30  assert_fails('so Xdef', error, lines)
31  delete('Xdef')
32enddef
33
34def CheckScriptSuccess(lines: list<string>)
35  writefile(lines, 'Xdef')
36  so Xdef
37  delete('Xdef')
38enddef
39