mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	- Vim "unix default" of 'noshowcmd' is serving few users. And it's inconsistent. - 'ruler' and 'belloff=all' improve the out-of-the-box experience. - Continue to use 'noshowcmd' and 'noruler' by default in the functional tests to keep them fast. TODO: Add a "disable slow stuff" command or mapping to address the use-case of a very slow terminal connection.
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local helpers = require('test.functional.helpers')(after_each)
 | 
						|
local child_session = require('test.functional.terminal.helpers')
 | 
						|
local ok = helpers.ok
 | 
						|
 | 
						|
if helpers.pending_win32(pending) then return end
 | 
						|
 | 
						|
describe('api', function()
 | 
						|
  local screen
 | 
						|
  local socket_name = "Xtest_functional_api.sock"
 | 
						|
 | 
						|
  before_each(function()
 | 
						|
    helpers.clear()
 | 
						|
    os.remove(socket_name)
 | 
						|
    screen = child_session.screen_setup(0, '["'..helpers.nvim_prog
 | 
						|
      ..'", "-u", "NONE", "-i", "NONE", "--cmd", "'..helpers.nvim_set..'"]')
 | 
						|
  end)
 | 
						|
  after_each(function()
 | 
						|
    os.remove(socket_name)
 | 
						|
  end)
 | 
						|
 | 
						|
  it("qa! RPC request during insert-mode", function()
 | 
						|
    -- Start the socket from the child nvim.
 | 
						|
    child_session.feed_data(":echo serverstart('"..socket_name.."')\n")
 | 
						|
 | 
						|
    -- Wait for socket creation.
 | 
						|
    screen:expect([[
 | 
						|
      {1: }                                                 |
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      ]]..socket_name..[[                         |
 | 
						|
      {3:-- TERMINAL --}                                    |
 | 
						|
    ]])
 | 
						|
 | 
						|
    local socket_session1 = helpers.connect(socket_name)
 | 
						|
    local socket_session2 = helpers.connect(socket_name)
 | 
						|
 | 
						|
    child_session.feed_data("i[tui] insert-mode")
 | 
						|
    -- Wait for stdin to be processed.
 | 
						|
    screen:expect([[
 | 
						|
      [tui] insert-mode{1: }                                |
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {3:-- INSERT --}                                      |
 | 
						|
      {3:-- TERMINAL --}                                    |
 | 
						|
    ]])
 | 
						|
 | 
						|
    ok(socket_session1:request("nvim_ui_attach", 42, 6, {rgb=true}))
 | 
						|
    ok(socket_session2:request("nvim_ui_attach", 25, 30, {rgb=true}))
 | 
						|
 | 
						|
    socket_session1:notify("nvim_input", "\n[socket 1] this is more than 25 columns")
 | 
						|
    socket_session2:notify("nvim_input", "\n[socket 2] input")
 | 
						|
 | 
						|
    screen:expect([[
 | 
						|
      [tui] insert-mode                                 |
 | 
						|
      [socket 1] this is more t{4:                         }|
 | 
						|
      han 25 columns           {4:                         }|
 | 
						|
      [socket 2] input{1: }        {4:                         }|
 | 
						|
      {4:~                                                 }|
 | 
						|
      {3:-- INSERT --}                                      |
 | 
						|
      {3:-- TERMINAL --}                                    |
 | 
						|
    ]])
 | 
						|
 | 
						|
    socket_session1:request("nvim_command", "qa!")
 | 
						|
  end)
 | 
						|
end)
 | 
						|
 |