mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 0c2ec77ae0
			
		
	
	0c2ec77ae0
	
	
	
		
			
			Sanity API checks made by the python-client in the api-python travis target were converted to lua and will now live in this repository. This will simplify performing breaking changes to the API as it won't be necessary to send parallel PRs the python-client.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Tests for nvim notifications
 | |
| local helpers = require('test.functional.helpers')
 | |
| local eq, clear, eval, execute, nvim, next_message =
 | |
|   helpers.eq, helpers.clear, helpers.eval, helpers.execute, helpers.nvim,
 | |
|   helpers.next_message
 | |
| 
 | |
| describe('notify', function()
 | |
|   local channel
 | |
| 
 | |
|   before_each(function()
 | |
|     clear()
 | |
|     channel = nvim('get_api_info')[1]
 | |
|   end)
 | |
| 
 | |
|   describe('passing a valid channel id', function()
 | |
|     it('sends the notification/args to the corresponding channel', function()
 | |
|       eval('rpcnotify('..channel..', "test-event", 1, 2, 3)')
 | |
|       eq({'notification', 'test-event', {1, 2, 3}}, next_message())
 | |
|       execute('au FileType lua call rpcnotify('..channel..', "lua!")')
 | |
|       execute('set filetype=lua')
 | |
|       eq({'notification', 'lua!', {}}, next_message())
 | |
|     end)
 | |
|   end)
 | |
| 
 | |
|   describe('passing 0 as the channel id', function()
 | |
|     it('sends the notification/args to all subscribed channels', function()
 | |
|       nvim('subscribe', 'event2')
 | |
|       eval('rpcnotify(0, "event1", 1, 2, 3)')
 | |
|       eval('rpcnotify(0, "event2", 4, 5, 6)')
 | |
|       eval('rpcnotify(0, "event2", 7, 8, 9)')
 | |
|       eq({'notification', 'event2', {4, 5, 6}}, next_message())
 | |
|       eq({'notification', 'event2', {7, 8, 9}}, next_message())
 | |
|       nvim('unsubscribe', 'event2')
 | |
|       nvim('subscribe', 'event1')
 | |
|       eval('rpcnotify(0, "event2", 10, 11, 12)')
 | |
|       eval('rpcnotify(0, "event1", 13, 14, 15)')
 | |
|       eq({'notification', 'event1', {13, 14, 15}}, next_message())
 | |
|     end)
 | |
|   end)
 | |
| end)
 |