xref: /vim-8.2.3635/src/testdir/test_tabline.vim (revision f73d3bc2)
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