aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_popup.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test_popup.vim')
-rw-r--r--src/nvim/testdir/test_popup.vim32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim
index 0027a0a52e..162df4b76e 100644
--- a/src/nvim/testdir/test_popup.vim
+++ b/src/nvim/testdir/test_popup.vim
@@ -669,27 +669,31 @@ func Test_popup_and_window_resize()
if h < 15
return
endif
- let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3})
- call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>")
- call term_wait(g:buf, 200)
- call term_sendkeys(g:buf, "Gi\<c-x>")
- call term_sendkeys(g:buf, "\<c-v>")
- call term_wait(g:buf, 100)
+ let rows = h / 3
+ let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': rows})
+ call term_sendkeys(buf, (h / 3 - 1) . "o\<esc>")
+ " Wait for the nested Vim to exit insert mode, where it will show the ruler.
+ " Need to trigger a redraw.
+ call WaitFor({-> execute("redraw") == "" && term_getline(buf, rows) =~ '\<' . rows . ',.*Bot'})
+
+ call term_sendkeys(buf, "Gi\<c-x>")
+ call term_sendkeys(buf, "\<c-v>")
+ call term_wait(buf, 100)
" popup first entry "!" must be at the top
- call WaitFor('term_getline(g:buf, 1) =~ "^!"')
- call assert_match('^!\s*$', term_getline(g:buf, 1))
+ call WaitFor({-> term_getline(buf, 1) =~ "^!"})
+ call assert_match('^!\s*$', term_getline(buf, 1))
exe 'resize +' . (h - 1)
- call term_wait(g:buf, 100)
+ call term_wait(buf, 100)
redraw!
" popup shifted down, first line is now empty
- call WaitFor('term_getline(g:buf, 1) == ""')
- call assert_equal('', term_getline(g:buf, 1))
+ call WaitFor({-> term_getline(buf, 1) == ""})
+ call assert_equal('', term_getline(buf, 1))
sleep 100m
" popup is below cursor line and shows first match "!"
- call WaitFor('term_getline(g:buf, term_getcursor(g:buf)[0] + 1) =~ "^!"')
- call assert_match('^!\s*$', term_getline(g:buf, term_getcursor(g:buf)[0] + 1))
+ call WaitFor({-> term_getline(buf, term_getcursor(buf)[0] + 1) =~ "^!"})
+ call assert_match('^!\s*$', term_getline(buf, term_getcursor(buf)[0] + 1))
" cursor line also shows !
- call assert_match('^!\s*$', term_getline(g:buf, term_getcursor(g:buf)[0]))
+ call assert_match('^!\s*$', term_getline(buf, term_getcursor(buf)[0]))
bwipe!
endfunc