1" Tests for editing the command line. 2 3func Test_complete_tab() 4 call writefile(['testfile'], 'Xtestfile') 5 call feedkeys(":e Xtest\t\r", "tx") 6 call assert_equal('testfile', getline(1)) 7 call delete('Xtestfile') 8endfunc 9 10func Test_complete_list() 11 " We can't see the output, but at least we check the code runs properly. 12 call feedkeys(":e test\<C-D>\r", "tx") 13 call assert_equal('test', expand('%:t')) 14endfunc 15 16func Test_complete_wildmenu() 17 call writefile(['testfile1'], 'Xtestfile1') 18 call writefile(['testfile2'], 'Xtestfile2') 19 set wildmenu 20 call feedkeys(":e Xtest\t\t\r", "tx") 21 call assert_equal('testfile2', getline(1)) 22 23 call delete('Xtestfile1') 24 call delete('Xtestfile2') 25 set nowildmenu 26endfunc 27 28func Test_getcompletion() 29 if !has('cmdline_compl') 30 return 31 endif 32 let groupcount = len(getcompletion('', 'event')) 33 call assert_true(groupcount > 0) 34 let matchcount = len(getcompletion('File', 'event')) 35 call assert_true(matchcount > 0) 36 call assert_true(groupcount > matchcount) 37 38 if has('menu') 39 source $VIMRUNTIME/menu.vim 40 let matchcount = len(getcompletion('', 'menu')) 41 call assert_true(matchcount > 0) 42 call assert_equal(['File.'], getcompletion('File', 'menu')) 43 call assert_true(matchcount > 0) 44 let matchcount = len(getcompletion('File.', 'menu')) 45 call assert_true(matchcount > 0) 46 endif 47 48 call assert_fails('call getcompletion("", "burp")', 'E475:') 49endfunc 50