1
0
forked from aniani/vim
Files
vim/src/testdir/vim9.vim
Bram Moolenaar 822ba24743 patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem:    Vim9: using a discovery phase doesn't work well.
Solution:   Remove the discovery phase, instead compile a function only when
            it is used.  Add :defcompile to compile def functions earlier.
2020-05-24 23:00:18 +02:00

29 lines
837 B
VimL

" Utility functions for testing vim9 script
" Check that "lines" inside ":def" results in an "error" message.
func CheckDefFailure(lines, error)
call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef')
call assert_fails('so Xdef', a:error, a:lines)
call delete('Xdef')
endfunc
" Check that "lines" inside ":def" results in an "error" message when executed.
func CheckDefExecFailure(lines, error)
call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef')
so Xdef
call assert_fails('call Func()', a:error, a:lines)
call delete('Xdef')
endfunc
def CheckScriptFailure(lines: list<string>, error: string)
writefile(lines, 'Xdef')
assert_fails('so Xdef', error, lines)
delete('Xdef')
enddef
def CheckScriptSuccess(lines: list<string>)
writefile(lines, 'Xdef')
so Xdef
delete('Xdef')
enddef