2017-12-23 17:26:11 +01:00
|
|
|
" Tests for various eval things.
|
|
|
|
|
|
|
|
function s:foo() abort
|
|
|
|
try
|
|
|
|
return [] == 0
|
|
|
|
catch
|
|
|
|
return 1
|
|
|
|
endtry
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
func Test_catch_return_with_error()
|
|
|
|
call assert_equal(1, s:foo())
|
|
|
|
endfunc
|
2018-02-13 18:05:18 +01:00
|
|
|
|
|
|
|
func Test_nocatch_restore_silent_emsg()
|
|
|
|
silent! try
|
|
|
|
throw 1
|
|
|
|
catch
|
|
|
|
endtry
|
|
|
|
echoerr 'wrong'
|
|
|
|
let c1 = nr2char(screenchar(&lines, 1))
|
|
|
|
let c2 = nr2char(screenchar(&lines, 2))
|
|
|
|
let c3 = nr2char(screenchar(&lines, 3))
|
|
|
|
let c4 = nr2char(screenchar(&lines, 4))
|
|
|
|
let c5 = nr2char(screenchar(&lines, 5))
|
|
|
|
call assert_equal('wrong', c1 . c2 . c3 . c4 . c5)
|
|
|
|
endfunc
|