Skip to content

Commit 65189a1

Browse files
committed
patch 8.0.0314: getcmd*() functions are not tested
Problem: getcmdtype(), getcmdpos() and getcmdline() are not tested. Solution: Add tests. (Yegappan Lakshmanan)
1 parent 6f78574 commit 65189a1

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

src/testdir/test_cmdline.vim

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,4 +330,36 @@ func Test_cmdline_search_range()
330330
bwipe!
331331
endfunc
332332

333+
" Tests for getcmdline(), getcmdpos() and getcmdtype()
334+
func Check_cmdline(cmdtype)
335+
call assert_equal('MyCmd a', getcmdline())
336+
call assert_equal(8, getcmdpos())
337+
call assert_equal(a:cmdtype, getcmdtype())
338+
return ''
339+
endfunc
340+
341+
func Test_getcmdtype()
342+
call feedkeys(":MyCmd a\<C-R>=Check_cmdline(':')\<CR>\<Esc>", "xt")
343+
344+
let cmdtype = ''
345+
debuggreedy
346+
call feedkeys(":debug echo 'test'\<CR>", "t")
347+
call feedkeys("let cmdtype = \<C-R>=string(getcmdtype())\<CR>\<CR>", "t")
348+
call feedkeys("cont\<CR>", "xt")
349+
0debuggreedy
350+
call assert_equal('>', cmdtype)
351+
352+
call feedkeys("/MyCmd a\<C-R>=Check_cmdline('/')\<CR>\<Esc>", "xt")
353+
call feedkeys("?MyCmd a\<C-R>=Check_cmdline('?')\<CR>\<Esc>", "xt")
354+
355+
call feedkeys(":call input('Answer?')\<CR>", "t")
356+
call feedkeys("MyCmd a\<C-R>=Check_cmdline('@')\<CR>\<Esc>", "xt")
357+
358+
call feedkeys(":insert\<CR>MyCmd a\<C-R>=Check_cmdline('-')\<CR>\<Esc>", "xt")
359+
360+
cnoremap <expr> <F6> Check_cmdline('=')
361+
call feedkeys("a\<C-R>=MyCmd a\<F6>\<Esc>\<Esc>", "xt")
362+
cunmap <F6>
363+
endfunc
364+
333365
set cpo&

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,8 @@ static char *(features[]) =
764764

765765
static int included_patches[] =
766766
{ /* Add new patch number below this line */
767+
/**/
768+
314,
767769
/**/
768770
313,
769771
/**/

0 commit comments

Comments
 (0)