diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-03-10 07:48:13 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-03-10 07:48:13 +0100 |
commit | 1671f4488105ee12a6a8558ae351436c26ab55fc (patch) | |
tree | 2e6bd3ba9c7cb5a443d97c03bc82046ff3ce087c /src/testdir/test_visual.vim | |
parent | 5269bd2a724fdb8c16c9635ef744a670f1bc8bd5 (diff) | |
download | vim-git-1671f4488105ee12a6a8558ae351436c26ab55fc.tar.gz |
patch 8.2.0369: various Normal mode commands not fully testedv8.2.0369
Problem: Various Normal mode commands not fully tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes #5751)
Diffstat (limited to 'src/testdir/test_visual.vim')
-rw-r--r-- | src/testdir/test_visual.vim | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim index c15c6144d..c1a3a00a5 100644 --- a/src/testdir/test_visual.vim +++ b/src/testdir/test_visual.vim @@ -157,11 +157,16 @@ func Test_blockwise_visual_o_O() exe "norm! gvO\<Esc>rb" exe "norm! gvo\<C-c>rc" exe "norm! gvO\<C-c>rd" + set selection=exclusive + exe "norm! gvOo\<C-c>re" + call assert_equal('...a be.', getline(4)) + exe "norm! gvOO\<C-c>rf" + set selection& call assert_equal(['..........', \ '...c d..', \ '... ..', - \ '...a b..', + \ '...a bf.', \ '..........'], getline(1, '$')) enew! @@ -645,6 +650,16 @@ func Test_characterwise_select_mode() exe "normal Gkgh\<Down>\<End>\<Del>" call assert_equal(['', 'a', ''], getline(1, '$')) + " CTRL-H in select mode behaves like 'x' + call setline(1, 'abcdef') + exe "normal! gggh\<Right>\<Right>\<Right>\<C-H>" + call assert_equal('ef', getline(1)) + + " CTRL-O in select mode switches to visual mode for one command + call setline(1, 'abcdef') + exe "normal! gggh\<C-O>3lm" + call assert_equal('mef', getline(1)) + sunmap <lt>End> sunmap <lt>Down> sunmap <lt>Del> @@ -752,8 +767,7 @@ endfunc func Test_visual_block_mode() new call append(0, '') - call setline(1, ['abcdefghijklm', 'abcdefghijklm', 'abcdefghijklm', - \ 'abcdefghijklm', 'abcdefghijklm']) + call setline(1, repeat(['abcdefghijklm'], 5)) call cursor(1, 1) " Test shift-right of a block @@ -772,6 +786,16 @@ func Test_visual_block_mode() \ 'axyzqqqqefgmnoklm', \ 'abcdqqqqijklm'], getline(1, 5)) + " Test 'C' to change till the end of the line + call cursor(3, 4) + exe "normal! \<C-V>j3lCooo" + call assert_equal(['axyooo', 'axyooo'], getline(3, 4)) + + " Test 'D' to delete till the end of the line + call cursor(3, 3) + exe "normal! \<C-V>j2lD" + call assert_equal(['ax', 'ax'], getline(3, 4)) + bwipe! endfunc @@ -958,8 +982,8 @@ func Test_exclusive_selection() close! endfunc -" Test for starting visual mode with a count -" This test should be run withou any previous visual modes. So this should be +" Test for starting visual mode with a count. +" This test should be run without any previous visual modes. So this should be " run as a first test. func Test_AAA_start_visual_mode_with_count() new |