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