diff options
Diffstat (limited to 'src/nvim/testdir/test_popup.vim')
-rw-r--r-- | src/nvim/testdir/test_popup.vim | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim index 6fd58a1483..6c43cbc1dc 100644 --- a/src/nvim/testdir/test_popup.vim +++ b/src/nvim/testdir/test_popup.vim @@ -246,6 +246,10 @@ func! Test_popup_completion_insertmode() iunmap <F5> endfunc +" TODO: Fix what breaks after this line. +" - Do not use "q!", it may exit Vim if there is an error +finish + func Test_noinsert_complete() function! s:complTest1() abort call complete(1, ['source', 'soundfold']) @@ -571,6 +575,15 @@ func Test_completion_clear_candidate_list() bw! endfunc +func Test_popup_complete_backwards() + new + call setline(1, ['Post', 'Port', 'Po']) + let expected=['Post', 'Port', 'Port'] + call cursor(3,2) + call feedkeys("A\<C-X>". repeat("\<C-P>", 3). "rt\<cr>", 'tx') + call assert_equal(expected, getline(1,'$')) + bwipe! +endfunc func Test_popup_and_preview_autocommand() " This used to crash Vim @@ -678,18 +691,24 @@ func Test_popup_and_window_resize() let g:buf = term_start([$NVIM_PRG, '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3}) call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>G") call term_sendkeys(g:buf, "i\<c-x>") - call term_wait(g:buf, 100) + call term_wait(g:buf, 200) call term_sendkeys(g:buf, "\<c-v>") call term_wait(g: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)) exe 'resize +' . (h - 1) call term_wait(g:buf, 100) redraw! - call WaitFor('"" == term_getline(g:buf, 1)') + " popup shifted down, first line is now empty + call WaitFor('term_getline(g:buf, 1) == ""') call assert_equal('', term_getline(g:buf, 1)) sleep 100m - call WaitFor('"^!" =~ term_getline(g:buf, term_getcursor(g:buf)[0] + 1)') + " 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)) + " cursor line also shows ! + call assert_match('^!\s*$', term_getline(g:buf, term_getcursor(g:buf)[0])) bwipe! endfunc |