xref: /vim-8.2.3635/src/testdir/test_cmdline.vim (revision a06ecab7)
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