Mercurial > vim
changeset 13559:af68603e213d v8.0.1653
patch 8.0.1653: screen dump is made too soon
commit https://github.com/vim/vim/commit/1834d37396e046ccbc4aa2678ba16a38197da6b4
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Mar 29 17:40:46 2018 +0200
patch 8.0.1653: screen dump is made too soon
Problem: Screen dump is made too soon.
Solution: Wait until the ruler is displayed. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/2755)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 29 Mar 2018 17:45:07 +0200 |
parents | 6b2e00ec807e |
children | 197a3a32eff0 |
files | src/testdir/dumps/Test_popup_command_01.dump src/testdir/dumps/Test_popup_command_02.dump src/testdir/screendump.vim src/testdir/test_autocmd.vim src/testdir/test_terminal.vim src/version.c |
diffstat | 6 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/dumps/Test_popup_command_01.dump +++ b/src/testdir/dumps/Test_popup_command_01.dump @@ -1,5 +1,5 @@ |o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51 -|a|n|d| |o|n|e| |t|w|o| |X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46 +|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46 |o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45 |~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45 |~| @9| +0#0000001#ffd7ff255|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45 @@ -17,4 +17,4 @@ |~| @73 |~| @73 |~| @73 -|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8> @17 +|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
--- a/src/testdir/dumps/Test_popup_command_02.dump +++ b/src/testdir/dumps/Test_popup_command_02.dump @@ -17,4 +17,4 @@ |~| @73 |~| @73 |~| @73 -|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8| @17 +|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
--- a/src/testdir/screendump.vim +++ b/src/testdir/screendump.vim @@ -59,6 +59,9 @@ func RunVimInTerminal(arguments, options let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': cols}) call assert_equal([rows, cols], term_getsize(buf)) + " Wait for the ruler (in the status line) to be shown. + call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1}) + return buf endfunc
--- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -1315,6 +1315,8 @@ func Test_Changed_FirstTime() call writefile([''], 'Xchanged.txt') let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3}) call assert_equal('running', term_getstatus(buf)) + " Wait for the ruler (in the status line) to be shown. + call WaitFor({-> term_getline(buf, 3) =~# '\<All$'}) " It's only adding autocmd, so that no event occurs. call term_sendkeys(buf, ":au! TextChanged <buffer> call writefile(['No'], 'Xchanged.txt')\<cr>") call term_sendkeys(buf, "\<C-\\>\<C-N>:qa!\<cr>")
--- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -975,7 +975,7 @@ endfunction func Check_dump01(off) call assert_equal('one two three four five', trim(getline(a:off + 1))) call assert_equal('~ Select Word', trim(getline(a:off + 7))) - call assert_equal(':popup PopUp :', trim(getline(a:off + 20))) + call assert_equal(':popup PopUp', trim(getline(a:off + 20))) endfunc func Test_terminal_dumpwrite_composing()