summaryrefslogtreecommitdiff
path: root/src/testdir/test_visual.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-08-07 22:02:30 +0200
committerBram Moolenaar <Bram@vim.org>2017-08-07 22:02:30 +0200
commit75373f38087dd756babdbbf9f14fd4711712c5de (patch)
tree91a9bd88aa98480b99dd750424d6622cc99f1594 /src/testdir/test_visual.vim
parente20b3eba731bafb97c609dd20a4c378c105acc0d (diff)
downloadvim-git-75373f38087dd756babdbbf9f14fd4711712c5de.tar.gz
patch 8.0.0890: still many old style testsv8.0.0890
Problem: Still many old style tests. Solution: Convert several tests to new style. (Yegappan Lakshmanan)
Diffstat (limited to 'src/testdir/test_visual.vim')
-rw-r--r--src/testdir/test_visual.vim31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 97b884fe0..e4bd10079 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -60,3 +60,34 @@ func Test_Visual_inner_quote()
normal vki'
bwipe!
endfunc
+
+" Test for Visual mode not being reset causing E315 error.
+func TriggerTheProblem()
+ " At this point there is no visual selection because :call reset it.
+ " Let's restore the selection:
+ normal gv
+ '<,'>del _
+ try
+ exe "normal \<Esc>"
+ catch /^Vim\%((\a\+)\)\=:E315/
+ echom 'Snap! E315 error!'
+ let g:msg='Snap! E315 error!'
+ endtry
+endfunc
+
+func Test_visual_mode_reset()
+ set belloff=all
+ enew
+ let g:msg="Everything's fine."
+ enew
+ setl buftype=nofile
+ call append(line('$'), 'Delete this line.')
+
+ " NOTE: this has to be done by a call to a function because executing :del
+ " the ex-way will require the colon operator which resets the visual mode
+ " thus preventing the problem:
+ exe "normal! GV:call TriggerTheProblem()\<CR>"
+ call assert_equal("Everything's fine.", g:msg)
+
+ set belloff&
+endfunc