mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	Problem:
Subdirectories like "visual", "insert", "normal" encourage people to
separate *related* tests for no good reason.  Typically the _mode_ is
not the relevant topic of a test (and when it is, _then_ create
an appropriate describe() or it()).
Solution:
- Delete the various `test/functional/<mode>/` subdirectories, move
  their tests to more meaningful topics.
- Rename `…/normal/` to `…/editor/`.
  - Move or merge `…/visual/*` and `…/insert/*` tests into here where
    appropriate.
- Rename `…/eval/` to `…/vimscript/`.
  - Move `…/viml/*` into here also.
* test(reorg): insert/* => editor/mode_insert_spec.lua
* test(reorg): cmdline/* => editor/mode_cmdline_spec.lua
* test(reorg): eval core tests => eval_spec.lua
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
local helpers = require('test.functional.helpers')(after_each)
 | 
						|
 | 
						|
local eq = helpers.eq
 | 
						|
local eval = helpers.eval
 | 
						|
local feed = helpers.feed
 | 
						|
local clear = helpers.clear
 | 
						|
local command = helpers.command
 | 
						|
 | 
						|
describe('v:count/v:count1', function()
 | 
						|
  before_each(function()
 | 
						|
    clear()
 | 
						|
 | 
						|
    command('map <silent> _x :<C-u>let g:count = "v:count=". v:count .", v:count1=". v:count1<CR>')
 | 
						|
  end)
 | 
						|
 | 
						|
  describe('in cmdwin', function()
 | 
						|
    it('equal 0/1 when no count is given', function()
 | 
						|
      feed('q:_x')
 | 
						|
      eq('v:count=0, v:count1=1', eval('g:count'))
 | 
						|
    end)
 | 
						|
 | 
						|
    it('equal 2/2 when count of 2 is given', function()
 | 
						|
      feed('q:2_x')
 | 
						|
      eq('v:count=2, v:count1=2', eval('g:count'))
 | 
						|
    end)
 | 
						|
  end)
 | 
						|
 | 
						|
  describe('in normal mode', function()
 | 
						|
    it('equal 0/1 when no count is given', function()
 | 
						|
      feed('_x')
 | 
						|
      eq('v:count=0, v:count1=1', eval('g:count'))
 | 
						|
    end)
 | 
						|
 | 
						|
    it('equal 2/2 when count of 2 is given', function()
 | 
						|
      feed('2_x')
 | 
						|
      eq('v:count=2, v:count1=2', eval('g:count'))
 | 
						|
    end)
 | 
						|
  end)
 | 
						|
end)
 |