blob: 82898df92d8254a9cd4410eaddcc87fab497c173 [file] [log] [blame]
function! StatuslineWithCaughtError()
let s:func_in_statusline_called = 1
try
call eval('unknown expression')
catch
endtry
return ''
endfunction
function! StatuslineWithError()
let s:func_in_statusline_called = 1
call eval('unknown expression')
return ''
endfunction
function! Test_caught_error_in_statusline()
let s:func_in_statusline_called = 0
set laststatus=2
let statusline = '%{StatuslineWithCaughtError()}'
let &statusline = statusline
redrawstatus
call assert_true(s:func_in_statusline_called)
call assert_equal(statusline, &statusline)
set statusline=
endfunction
function! Test_statusline_will_be_disabled_with_error()
let s:func_in_statusline_called = 0
set laststatus=2
let statusline = '%{StatuslineWithError()}'
try
let &statusline = statusline
redrawstatus
catch
endtry
call assert_true(s:func_in_statusline_called)
call assert_equal('', &statusline)
set statusline=
endfunction