Mercurial > vim
diff src/testdir/test_visual.vim @ 12019:7d7835ab8b37 v8.0.0890
patch 8.0.0890: still many old style tests
commit https://github.com/vim/vim/commit/75373f38087dd756babdbbf9f14fd4711712c5de
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 7 22:02:30 2017 +0200
patch 8.0.0890: still many old style tests
Problem: Still many old style tests.
Solution: Convert several tests to new style. (Yegappan Lakshmanan)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 07 Aug 2017 22:15:03 +0200 |
parents | 66b677c77467 |
children | 1fad9675d8fd |
line wrap: on
line diff
--- 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