diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 9ea80d73d4..02c44ee6cb 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -471,4 +471,25 @@ func Test_verbosefile()    call delete('Xlog')  endfunc +func Test_setcmdpos() +  func InsertTextAtPos(text, pos) +    call assert_equal(0, setcmdpos(a:pos)) +    return a:text +  endfunc + +  " setcmdpos() with position in the middle of the command line. +  call feedkeys(":\"12\<C-R>=InsertTextAtPos('a', 3)\<CR>b\<CR>", 'xt') +  call assert_equal('"1ab2', @:) + +  call feedkeys(":\"12\<C-R>\<C-R>=InsertTextAtPos('a', 3)\<CR>b\<CR>", 'xt') +  call assert_equal('"1b2a', @:) + +  " setcmdpos() with position beyond the end of the command line. +  call feedkeys(":\"12\<C-B>\<C-R>=InsertTextAtPos('a', 10)\<CR>b\<CR>", 'xt') +  call assert_equal('"12ab', @:) + +  " setcmdpos() returns 1 when not editing the command line. +  call assert_equal(1, setcmdpos(3)) +endfunc +  set cpo&  | 
