1function! TablineWithCaughtError() 2 let s:func_in_tabline_called = 1 3 try 4 call eval('unknown expression') 5 catch 6 endtry 7 return '' 8endfunction 9 10function! TablineWithError() 11 let s:func_in_tabline_called = 1 12 call eval('unknown expression') 13 return '' 14endfunction 15 16function! Test_caught_error_in_tabline() 17 let showtabline_save = &showtabline 18 set showtabline=2 19 let s:func_in_tabline_called = 0 20 let tabline = '%{TablineWithCaughtError()}' 21 let &tabline = tabline 22 redraw! 23 call assert_true(s:func_in_tabline_called) 24 call assert_equal(tabline, &tabline) 25 set tabline= 26 let &showtabline = showtabline_save 27endfunction 28 29function! Test_tabline_will_be_disabled_with_error() 30 let showtabline_save = &showtabline 31 set showtabline=2 32 let s:func_in_tabline_called = 0 33 let tabline = '%{TablineWithError()}' 34 try 35 let &tabline = tabline 36 redraw! 37 catch 38 endtry 39 call assert_true(s:func_in_tabline_called) 40 call assert_equal('', &tabline) 41 set tabline= 42 let &showtabline = showtabline_save 43endfunction 44