Mercurial > vim
view src/testdir/test_messages.vim @ 14535:2eecc8d1e8d9
Added tag v8.1.0280 for changeset 8fa7f5ff2649990988b1b43b0dcfadd8c414b56f
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 13 Aug 2018 23:00:06 +0200 |
parents | 51693b1a640e |
children | 1946487c74ba |
line wrap: on
line source
" Tests for :messages function Test_messages() let oldmore = &more try set nomore " Avoid the "message maintainer" line. let $LANG = '' let arr = map(range(10), '"hello" . v:val') for s in arr echomsg s | redraw endfor let result = '' " get last two messages redir => result 2messages | redraw redir END let msg_list = split(result, "\n") call assert_equal(["hello8", "hello9"], msg_list) " clear messages without last one 1messages clear redir => result redraw | messages redir END let msg_list = split(result, "\n") call assert_equal(['hello9'], msg_list) " clear all messages messages clear redir => result redraw | messages redir END call assert_equal('', result) finally let &more = oldmore endtry endfunction " Patch 7.4.1696 defined the "clearmode()" function for clearing the mode " indicator (e.g., "-- INSERT --") when ":stopinsert" is invoked. Message " output could then be disturbed when 'cmdheight' was greater than one. " This test ensures that the bugfix for this issue remains in place. function! Test_stopinsert_does_not_break_message_output() set cmdheight=2 redraw! stopinsert | echo 'test echo' call assert_equal(116, screenchar(&lines - 1, 1)) call assert_equal(32, screenchar(&lines, 1)) redraw! stopinsert | echomsg 'test echomsg' call assert_equal(116, screenchar(&lines - 1, 1)) call assert_equal(32, screenchar(&lines, 1)) redraw! set cmdheight& endfunction