diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-07-23 18:12:37 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-23 18:12:37 +0800 |
| commit | 1849cf0e4c4376445ff05b9f7f5604b22ac915ff (patch) | |
| tree | c1ddf3a082b8379a25c2d862a1df8fda227c37e6 /src/nvim/testdir/test_input.vim | |
| parent | d0ced2a127ab3974deaefcfab214b564b1ef48e7 (diff) | |
| parent | 6cee15da7235b6ba9c428ee43346415fe6a64e6c (diff) | |
| download | rneovim-1849cf0e4c4376445ff05b9f7f5604b22ac915ff.tar.gz rneovim-1849cf0e4c4376445ff05b9f7f5604b22ac915ff.tar.bz2 rneovim-1849cf0e4c4376445ff05b9f7f5604b22ac915ff.zip | |
Merge pull request #19476 from zeertzjq/vim-9.0.0059
vim-patch:9.0.{0059,0061}
Diffstat (limited to 'src/nvim/testdir/test_input.vim')
| -rw-r--r-- | src/nvim/testdir/test_input.vim | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_input.vim b/src/nvim/testdir/test_input.vim new file mode 100644 index 0000000000..3b1e2eb2df --- /dev/null +++ b/src/nvim/testdir/test_input.vim @@ -0,0 +1,61 @@ +" Tests for character input and feedkeys() function. + +func Test_feedkeys_x_with_empty_string() + new + call feedkeys("ifoo\<Esc>") + call assert_equal('', getline('.')) + call feedkeys('', 'x') + call assert_equal('foo', getline('.')) + + " check it goes back to normal mode immediately. + call feedkeys('i', 'x') + call assert_equal('foo', getline('.')) + quit! +endfunc + +func Test_feedkeys_with_abbreviation() + new + inoreabbrev trigger value + call feedkeys("atrigger ", 'x') + call feedkeys("atrigger ", 'x') + call assert_equal('value value ', getline(1)) + bwipe! + iunabbrev trigger +endfunc + +func Test_feedkeys_escape_special() + nnoremap … <Cmd>let g:got_ellipsis += 1<CR> + call feedkeys('…', 't') + call assert_equal('…', getcharstr()) + let g:got_ellipsis = 0 + call feedkeys('…', 'xt') + call assert_equal(1, g:got_ellipsis) + unlet g:got_ellipsis + nunmap … +endfunc + +func Test_input_simplify_ctrl_at() + new + " feeding unsimplified CTRL-@ should still trigger i_CTRL-@ + call feedkeys("ifoo\<Esc>A\<*C-@>x", 'xt') + call assert_equal('foofo', getline(1)) + bw! +endfunc + +func Test_input_simplify_noremap() + call feedkeys("i\<*C-M>", 'nx') + call assert_equal('', getline(1)) + call assert_equal([0, 2, 1, 0, 1], getcurpos()) + bw! +endfunc + +func Test_input_simplify_timedout() + inoremap <C-M>a b + call feedkeys("i\<*C-M>", 'xt') + call assert_equal('', getline(1)) + call assert_equal([0, 2, 1, 0, 1], getcurpos()) + iunmap <C-M>a + bw! +endfunc + +" vim: shiftwidth=2 sts=2 expandtab |