Mercurial > vim
view src/testdir/test_popup.vim @ 9568:ccbd2e604e59 v7.4.2061
commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 17 19:25:04 2016 +0200
patch 7.4.2061
Problem: qf_init_ext() is too big.
Solution: Move code to qf_parse_line() (Yegappan Lakshmanan)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 17 Jul 2016 19:30:05 +0200 |
parents | 5fb484647e12 |
children | 0b0b9864c811 |
line wrap: on
line source
" Test for completion menu let g:months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] let g:setting = '' func ListMonths() if g:setting != '' exe ":set" g:setting endif call complete(col('.'), g:months) return '' endfunc func! Test_popup_completion_insertmode() new inoremap <F5> <C-R>=ListMonths()<CR> call feedkeys("a\<f5>\<down>\<enter>\<esc>", 'tx') call assert_equal('February', getline(1)) %d let g:setting = 'noinsertmode' call feedkeys("a\<f5>\<down>\<enter>\<esc>", 'tx') call assert_equal('February', getline(1)) call assert_false(pumvisible()) %d let g:setting = '' call feedkeys("a\<f5>". repeat("\<c-n>",12)."\<enter>\<esc>", 'tx') call assert_equal('', getline(1)) %d call feedkeys("a\<f5>\<c-p>\<enter>\<esc>", 'tx') call assert_equal('', getline(1)) %d call feedkeys("a\<f5>\<c-p>\<c-p>\<enter>\<esc>", 'tx') call assert_equal('December', getline(1)) bwipe! iunmap <F5> endfunc function! ComplTest() abort call complete(1, ['source', 'soundfold']) return '' endfunction func Test_noinsert_complete() new set completeopt+=noinsert inoremap <F5> <C-R>=ComplTest()<CR> call feedkeys("i\<F5>soun\<CR>\<CR>\<ESC>.", 'tx') call assert_equal('soundfold', getline(1)) call assert_equal('soundfold', getline(2)) bwipe! new inoremap <F5> <C-R>=Test()<CR> call feedkeys("i\<F5>\<CR>\<ESC>", 'tx') call assert_equal('source', getline(1)) bwipe! set completeopt-=noinsert iunmap <F5> endfunc function! Test() abort call complete(1, ['source', 'soundfold']) return '' endfunction