1fabaf753SBram Moolenaar" Tests for various eval things.
2fabaf753SBram Moolenaar
3fabaf753SBram Moolenaarfunction s:foo() abort
4fabaf753SBram Moolenaar  try
5fabaf753SBram Moolenaar    return [] == 0
6fabaf753SBram Moolenaar  catch
7fabaf753SBram Moolenaar    return 1
8fabaf753SBram Moolenaar  endtry
9fabaf753SBram Moolenaarendfunction
10fabaf753SBram Moolenaar
11fabaf753SBram Moolenaarfunc Test_catch_return_with_error()
12fabaf753SBram Moolenaar  call assert_equal(1, s:foo())
13fabaf753SBram Moolenaarendfunc
14*2be57331SBram Moolenaar
15*2be57331SBram Moolenaarfunc Test_nocatch_restore_silent_emsg()
16*2be57331SBram Moolenaar  silent! try
17*2be57331SBram Moolenaar    throw 1
18*2be57331SBram Moolenaar  catch
19*2be57331SBram Moolenaar  endtry
20*2be57331SBram Moolenaar  echoerr 'wrong'
21*2be57331SBram Moolenaar  let c1 = nr2char(screenchar(&lines, 1))
22*2be57331SBram Moolenaar  let c2 = nr2char(screenchar(&lines, 2))
23*2be57331SBram Moolenaar  let c3 = nr2char(screenchar(&lines, 3))
24*2be57331SBram Moolenaar  let c4 = nr2char(screenchar(&lines, 4))
25*2be57331SBram Moolenaar  let c5 = nr2char(screenchar(&lines, 5))
26*2be57331SBram Moolenaar  call assert_equal('wrong', c1 . c2 . c3 . c4 . c5)
27*2be57331SBram Moolenaarendfunc
28