mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Tests for :let.
 | |
| 
 | |
| local helpers = require('test.functional.helpers')
 | |
| local clear, source = helpers.clear, helpers.source
 | |
| local execute, expect = helpers.execute, helpers.expect
 | |
| 
 | |
| describe(':let', function()
 | |
|   setup(clear)
 | |
| 
 | |
|   it('is working', function()
 | |
|     execute('set runtimepath+=test/functional/fixtures')
 | |
| 
 | |
|     -- Test to not autoload when assigning.  It causes internal error.
 | |
|     source([[
 | |
|       try
 | |
|         let Test104#numvar = function('tr')
 | |
|         $put ='OK: ' . string(Test104#numvar)
 | |
|       catch
 | |
|         $put ='FAIL: ' . v:exception
 | |
|       endtry
 | |
|       let a = 1
 | |
|       let b = 2
 | |
|       for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
 | |
|         try
 | |
|           redir => messages
 | |
|           execute 'let' letargs
 | |
|           redir END
 | |
|           $put ='OK:'
 | |
|           $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')
 | |
|         catch
 | |
|           $put ='FAIL: ' . v:exception
 | |
|           redir END
 | |
|         endtry
 | |
|       endfor]])
 | |
| 
 | |
|     -- Remove empty line
 | |
|     execute('1d')
 | |
| 
 | |
|     -- Assert buffer contents.
 | |
|     expect([[
 | |
|       OK: function('tr')
 | |
|       OK:
 | |
|         a                     #1
 | |
|         b                     #2
 | |
|       OK:
 | |
|         b                     #2
 | |
|       OK:
 | |
|         b                     #2
 | |
|         a                     #1
 | |
|       OK:
 | |
|         a                     #1
 | |
|         b                     #2]])
 | |
|   end)
 | |
| end)
 | 
