Mercurial > vim
view src/testdir/test_messages.vim @ 15113:ae25a1172514 v8.1.0567
patch 8.1.0567: error for NUL byte in ScreenLines goes unnoticed
commit https://github.com/vim/vim/commit/4087bfd96d0d70791a1572ac4b40d5a655e2166b
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 7 13:26:39 2018 +0100
patch 8.1.0567: error for NUL byte in ScreenLines goes unnoticed
Problem: Error for NUL byte in ScreenLines goes unnoticed.
Solution: Add an internal error message.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 Dec 2018 13:30:08 +0100 |
parents | 1946487c74ba |
children | dada0b389d4f |
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 func Test_message_completion() call feedkeys(":message \<C-A>\<C-B>\"\<CR>", 'tx') call assert_equal('"message clear', @:) endfunc