mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +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
	 ZyX
					ZyX