forked from aniani/vim
43 lines
877 B
VimL
43 lines
877 B
VimL
|
|
" Tests for :messages
|
||
|
|
|
||
|
|
function Test_messages()
|
||
|
|
let oldmore = &more
|
||
|
|
try
|
||
|
|
set nomore
|
||
|
|
|
||
|
|
let arr = map(range(10), '"hello" . v:val')
|
||
|
|
for s in arr
|
||
|
|
echomsg s | redraw
|
||
|
|
endfor
|
||
|
|
let result = ''
|
||
|
|
|
||
|
|
redir => result
|
||
|
|
2messages | redraw
|
||
|
|
redir END
|
||
|
|
|
||
|
|
" get last two messages
|
||
|
|
let msg = split(result, "\n")[1:][-2:]
|
||
|
|
call assert_equal(["hello8", "hello9"], msg)
|
||
|
|
|
||
|
|
" clear messages without last one
|
||
|
|
1messages clear
|
||
|
|
redir => result
|
||
|
|
redraw | 1messages
|
||
|
|
redir END
|
||
|
|
" get last last message
|
||
|
|
let msg = split(result, "\n")[1:][-1:]
|
||
|
|
call assert_equal(['hello9'], msg)
|
||
|
|
|
||
|
|
" clear all messages
|
||
|
|
messages clear
|
||
|
|
redir => result
|
||
|
|
redraw | 1messages
|
||
|
|
redir END
|
||
|
|
" get last last message
|
||
|
|
let msg = split(result, "\n")[1:][-1:]
|
||
|
|
call assert_equal([], msg)
|
||
|
|
finally
|
||
|
|
let &more = oldmore
|
||
|
|
endtry
|
||
|
|
endfunction
|