1
0
forked from aniani/vim

patch 8.2.0333: terminal in popup test is flaky

Problem:    Terminal in popup test is flaky.
Solution:   Make sure redraw is done before opening the popup.
This commit is contained in:
Bram Moolenaar
2020-02-29 16:09:16 +01:00
parent d30ae2fc4a
commit 57c339569e
3 changed files with 10 additions and 9 deletions

View File

@@ -12,4 +12,4 @@
|1@1| @11|╚+0#0000001#ffd7ff255|═@44|⇲| +0#0000000#ffffff0@13 |1@1| @11|╚+0#0000001#ffd7ff255|═@44|⇲| +0#0000000#ffffff0@13
|1|2| @72 |1|2| @72
|1|3| @72 |1|3| @72
|t|e|r|m|i|n|a|l| |p|o|p|u|p| @42|0|,|0|-|1| @8|A|l@1| |t|e|r|m|i|n|a|l| |p|o|p|u|p| @42|1|,|1| @10|T|o|p|

View File

@@ -2339,29 +2339,28 @@ func Test_terminal_in_popup()
\ 'hi PopTerm ctermbg=grey', \ 'hi PopTerm ctermbg=grey',
\ 'func OpenTerm(setColor)', \ 'func OpenTerm(setColor)',
\ " let s:buf = term_start('" .. cmd .. " Xtext', #{hidden: 1, term_finish: 'close'})", \ " let s:buf = term_start('" .. cmd .. " Xtext', #{hidden: 1, term_finish: 'close'})",
\ ' let s:winid = popup_create(s:buf, #{minwidth: 45, minheight: 7, border: [], drag: 1, resize: 1})', \ ' let g:winid = popup_create(s:buf, #{minwidth: 45, minheight: 7, border: [], drag: 1, resize: 1})',
\ ' if a:setColor', \ ' if a:setColor',
\ ' call win_execute(s:winid, "set wincolor=PopTerm")', \ ' call win_execute(g:winid, "set wincolor=PopTerm")',
\ ' endif', \ ' endif',
\ 'endfunc', \ 'endfunc',
\ 'call OpenTerm(0)',
\ 'func HidePopup()', \ 'func HidePopup()',
\ ' call popup_hide(s:winid)', \ ' call popup_hide(g:winid)',
\ 'endfunc', \ 'endfunc',
\ 'func ClosePopup()', \ 'func ClosePopup()',
\ ' call popup_close(s:winid)', \ ' call popup_close(g:winid)',
\ 'endfunc', \ 'endfunc',
\ 'func ReopenPopup()', \ 'func ReopenPopup()',
\ ' call popup_create(s:buf, #{minwidth: 40, minheight: 6, border: []})', \ ' call popup_create(s:buf, #{minwidth: 40, minheight: 6, border: []})',
\ 'endfunc', \ 'endfunc',
\ 'sleep 10m',
\ 'redraw',
\ 'echo getwinvar(s:winid, "&buftype") win_gettype(s:winid)',
\ ] \ ]
call writefile(lines, 'XtermPopup') call writefile(lines, 'XtermPopup')
let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15}) let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})
call term_wait(buf, 100) call term_wait(buf, 100)
call term_sendkeys(buf, ":call OpenTerm(0)\<CR>")
call term_wait(buf, 100)
call term_sendkeys(buf, ":\<CR>") call term_sendkeys(buf, ":\<CR>")
call term_sendkeys(buf, "\<C-W>:echo getwinvar(g:winid, \"&buftype\") win_gettype(g:winid)\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_1', {}) call VerifyScreenDump(buf, 'Test_terminal_popup_1', {})
call term_sendkeys(buf, ":q\<CR>") call term_sendkeys(buf, ":q\<CR>")

View File

@@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
333,
/**/ /**/
332, 332,
/**/ /**/