blob: 82898df92d8254a9cd4410eaddcc87fab497c173 [file] [log] [blame]
Bram Moolenaara742e082016-04-05 21:10:38 +02001function! StatuslineWithCaughtError()
2 let s:func_in_statusline_called = 1
3 try
4 call eval('unknown expression')
5 catch
6 endtry
7 return ''
8endfunction
9
10function! StatuslineWithError()
11 let s:func_in_statusline_called = 1
12 call eval('unknown expression')
13 return ''
14endfunction
15
16function! Test_caught_error_in_statusline()
17 let s:func_in_statusline_called = 0
18 set laststatus=2
19 let statusline = '%{StatuslineWithCaughtError()}'
20 let &statusline = statusline
21 redrawstatus
22 call assert_true(s:func_in_statusline_called)
23 call assert_equal(statusline, &statusline)
24 set statusline=
25endfunction
26
27function! Test_statusline_will_be_disabled_with_error()
28 let s:func_in_statusline_called = 0
29 set laststatus=2
30 let statusline = '%{StatuslineWithError()}'
31 try
32 let &statusline = statusline
33 redrawstatus
34 catch
35 endtry
36 call assert_true(s:func_in_statusline_called)
37 call assert_equal('', &statusline)
38 set statusline=
39endfunction