mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	functests: Check that minimal distance between commands works
This commit is contained in:
		@@ -12,7 +12,7 @@ local function check_nofunc(fname)
 | 
				
			|||||||
  eq(0, funcs.exists('*' .. fname))
 | 
					  eq(0, funcs.exists('*' .. fname))
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local function check_func(fname, body)
 | 
					local function check_func(fname, body, indent)
 | 
				
			||||||
  if type(body) == 'number' then
 | 
					  if type(body) == 'number' then
 | 
				
			||||||
    body = ('return %i'):format(body)
 | 
					    body = ('return %i'):format(body)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
@@ -20,7 +20,9 @@ local function check_func(fname, body)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      function %s()%s
 | 
					      function %s()%s
 | 
				
			||||||
      endfunction]]
 | 
					      endfunction]]
 | 
				
			||||||
    ), 3):format(fname, body and ('\n1          ' .. body) or ''),
 | 
					    ), 3):format(
 | 
				
			||||||
 | 
					      fname,
 | 
				
			||||||
 | 
					      body and ('\n1' .. (' '):rep(2 + (indent or 8)) .. body) or ''),
 | 
				
			||||||
  redir_exec('function ' .. fname))
 | 
					  redir_exec('function ' .. fname))
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -172,5 +174,48 @@ describe(':endfunction', function()
 | 
				
			|||||||
    check_func('F3', 'echo 3')
 | 
					    check_func('F3', 'echo 3')
 | 
				
			||||||
    check_func('F4', 'echo 4')
 | 
					    check_func('F4', 'echo 4')
 | 
				
			||||||
  end)
 | 
					  end)
 | 
				
			||||||
 | 
					  it('allows running multiple commands with only one character in between',
 | 
				
			||||||
 | 
					  function()
 | 
				
			||||||
 | 
					    eq('\n3', redir_exec(dedent([[
 | 
				
			||||||
 | 
					      function! F1()
 | 
				
			||||||
 | 
					        echo 3
 | 
				
			||||||
 | 
					      endfunction!
 | 
				
			||||||
 | 
					      call F1()]])))
 | 
				
			||||||
 | 
					    check_func('F1', 'echo 3', 2)
 | 
				
			||||||
 | 
					    eq('\n4', redir_exec(dedent([[
 | 
				
			||||||
 | 
					      function F5()
 | 
				
			||||||
 | 
					        echo 4
 | 
				
			||||||
 | 
					      endfunction
 | 
				
			||||||
 | 
					      call F5()]])))
 | 
				
			||||||
 | 
					    check_func('F5', 'echo 4', 2)
 | 
				
			||||||
 | 
					    eq('\n5', redir_exec(dedent([[
 | 
				
			||||||
 | 
					      function F6()
 | 
				
			||||||
 | 
					        echo 5
 | 
				
			||||||
 | 
					      endfunction " TEST
 | 
				
			||||||
 | 
					      call F6()]])))
 | 
				
			||||||
 | 
					    check_func('F6', 'echo 5', 2)
 | 
				
			||||||
 | 
					    eq('\n6', redir_exec(dedent([[
 | 
				
			||||||
 | 
					      function F7()
 | 
				
			||||||
 | 
					        echo 6
 | 
				
			||||||
 | 
					      endfunction F7
 | 
				
			||||||
 | 
					      call F7()]])))
 | 
				
			||||||
 | 
					    check_func('F7', 'echo 6', 2)
 | 
				
			||||||
 | 
					    eq('\n2\n3\n4', redir_exec(dedent([[
 | 
				
			||||||
 | 
					      function F2()
 | 
				
			||||||
 | 
					        echo 2
 | 
				
			||||||
 | 
					      endfunction F2
 | 
				
			||||||
 | 
					      function F3()
 | 
				
			||||||
 | 
					        echo 3
 | 
				
			||||||
 | 
					      endfunction " F3
 | 
				
			||||||
 | 
					      function! F4()
 | 
				
			||||||
 | 
					        echo 4
 | 
				
			||||||
 | 
					      endfunction!
 | 
				
			||||||
 | 
					      call F2()
 | 
				
			||||||
 | 
					      call F3()
 | 
				
			||||||
 | 
					      call F4()]])))
 | 
				
			||||||
 | 
					    check_func('F2', 'echo 2', 2)
 | 
				
			||||||
 | 
					    check_func('F3', 'echo 3', 2)
 | 
				
			||||||
 | 
					    check_func('F4', 'echo 4', 2)
 | 
				
			||||||
 | 
					  end)
 | 
				
			||||||
end)
 | 
					end)
 | 
				
			||||||
-- vim: foldmarker=▶,▲
 | 
					-- vim: foldmarker=▶,▲
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user