mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 052498ed42
			
		
	
	052498ed42
	
	
	
		
			
			Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Test for visual mode not being reset causing E315 error.
 | |
| 
 | |
| local n = require('test.functional.testnvim')()
 | |
| 
 | |
| local feed, source = n.feed, n.source
 | |
| local clear, expect = n.clear, n.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 \<Esc>"
 | |
|           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()<cr>')
 | |
| 
 | |
|     source([[
 | |
|       %del _
 | |
|       call append(line('$'), g:msg)
 | |
|       brewind
 | |
|     ]])
 | |
| 
 | |
|     -- Assert buffer contents.
 | |
|     expect([[
 | |
| 
 | |
|       Everything's fine.]])
 | |
|   end)
 | |
| end)
 |