1" Tests for :messages
2
3function Test_messages()
4  let oldmore = &more
5  try
6    set nomore
7    " Avoid the "message maintainer" line.
8    let $LANG = ''
9
10    let arr = map(range(10), '"hello" . v:val')
11    for s in arr
12      echomsg s | redraw
13    endfor
14    let result = ''
15
16    " get last two messages
17    redir => result
18    2messages | redraw
19    redir END
20    let msg_list = split(result, "\n")
21    call assert_equal(["hello8", "hello9"], msg_list)
22
23    " clear messages without last one
24    1messages clear
25    redir => result
26    redraw | messages
27    redir END
28    let msg_list = split(result, "\n")
29    call assert_equal(['hello9'], msg_list)
30
31    " clear all messages
32    messages clear
33    redir => result
34    redraw | messages
35    redir END
36    call assert_equal('', result)
37  finally
38    let &more = oldmore
39  endtry
40endfunction
41