From 9c40721ea4d7b660b78f519abf96317c70460703 Mon Sep 17 00:00:00 2001 From: Rainer Borene Date: Mon, 23 Feb 2015 12:36:43 -0300 Subject: legacy tests: migrate test103 --- test/functional/legacy/103_visual_mode_reset.lua | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/functional/legacy/103_visual_mode_reset.lua (limited to 'test/functional/legacy') diff --git a/test/functional/legacy/103_visual_mode_reset.lua b/test/functional/legacy/103_visual_mode_reset.lua new file mode 100644 index 0000000000..6b2f3bc1b6 --- /dev/null +++ b/test/functional/legacy/103_visual_mode_reset.lua @@ -0,0 +1,47 @@ +-- Test for visual mode not being reset causing E315 error. + +local helpers = require('test.functional.helpers') +local feed, insert, source = helpers.feed, helpers.insert, helpers.source +local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect + +describe('E315 error', function() + setup(clear) + + it('is working', function() + -- At this point there is no visual selection because :call reset it. + -- Let's restore the selection: + source([[ + let g:msg="Everything's fine." + function! TriggerTheProblem() + normal gv + '<,'>del _ + try + exe "normal \" + catch /^Vim\%((\a\+)\)\=:E315/ + echom 'Snap! E315 error!' + let g:msg='Snap! E315 error!' + endtry + endfunction + enew + 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: + feed('GV:call TriggerTheProblem()') + + source([[ + %del _ + call append(line('$'), g:msg) + brewind + ]]) + + -- Assert buffer contents. + expect([[ + + Everything's fine.]]) + end) +end) -- cgit