aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal
diff options
context:
space:
mode:
authordundargoc <gocdundar@gmail.com>2024-04-20 17:44:13 +0200
committerdundargoc <33953936+dundargoc@users.noreply.github.com>2024-04-23 18:17:04 +0200
commit052498ed42780a76daea589d063cd8947a894673 (patch)
treeb6c85416a4d7ced5eabb0a7a3866f5e0fee886cc /test/functional/terminal
parentc5af5c0b9ab84c86f84e32210512923e7eb641ba (diff)
downloadrneovim-052498ed42780a76daea589d063cd8947a894673.tar.gz
rneovim-052498ed42780a76daea589d063cd8947a894673.tar.bz2
rneovim-052498ed42780a76daea589d063cd8947a894673.zip
test: improve test conventions
Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
Diffstat (limited to 'test/functional/terminal')
-rw-r--r--test/functional/terminal/altscreen_spec.lua8
-rw-r--r--test/functional/terminal/api_spec.lua12
-rw-r--r--test/functional/terminal/buffer_spec.lua28
-rw-r--r--test/functional/terminal/channel_spec.lua22
-rw-r--r--test/functional/terminal/cursor_spec.lua14
-rw-r--r--test/functional/terminal/edit_spec.lua14
-rw-r--r--test/functional/terminal/ex_terminal_spec.lua20
-rw-r--r--test/functional/terminal/highlight_spec.lua16
-rw-r--r--test/functional/terminal/mouse_spec.lua8
-rw-r--r--test/functional/terminal/scrollback_spec.lua20
-rw-r--r--test/functional/terminal/testutil.lua11
-rw-r--r--test/functional/terminal/tui_spec.lua44
-rw-r--r--test/functional/terminal/window_spec.lua12
-rw-r--r--test/functional/terminal/window_split_tab_spec.lua18
14 files changed, 137 insertions, 110 deletions
diff --git a/test/functional/terminal/altscreen_spec.lua b/test/functional/terminal/altscreen_spec.lua
index 6a4887356e..12c8615799 100644
--- a/test/functional/terminal/altscreen_spec.lua
+++ b/test/functional/terminal/altscreen_spec.lua
@@ -1,7 +1,9 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local tt = require('test.functional.terminal.testutil')
-local clear, eq, api = t.clear, t.eq, t.api
-local feed = t.feed
+local clear, eq, api = n.clear, t.eq, n.api
+local feed = n.feed
local feed_data = tt.feed_data
local enter_altscreen = tt.enter_altscreen
local exit_altscreen = tt.exit_altscreen
diff --git a/test/functional/terminal/api_spec.lua b/test/functional/terminal/api_spec.lua
index f692335bfc..1f10dda551 100644
--- a/test/functional/terminal/api_spec.lua
+++ b/test/functional/terminal/api_spec.lua
@@ -1,4 +1,6 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local tt = require('test.functional.terminal.testutil')
local ok = t.ok
@@ -11,7 +13,7 @@ describe('api', function()
local socket_name = './Xtest_functional_api.sock'
before_each(function()
- t.clear()
+ n.clear()
os.remove(socket_name)
screen = tt.setup_child_nvim({
'-u',
@@ -21,7 +23,7 @@ describe('api', function()
'--cmd',
'colorscheme vim',
'--cmd',
- t.nvim_set .. ' notermguicolors',
+ n.nvim_set .. ' notermguicolors',
})
end)
after_each(function()
@@ -49,8 +51,8 @@ describe('api', function()
{3:-- TERMINAL --} |
]])
- local socket_session1 = t.connect(socket_name)
- local socket_session2 = t.connect(socket_name)
+ local socket_session1 = n.connect(socket_name)
+ local socket_session2 = n.connect(socket_name)
tt.feed_data('i[tui] insert-mode')
-- Wait for stdin to be processed.
diff --git a/test/functional/terminal/buffer_spec.lua b/test/functional/terminal/buffer_spec.lua
index 7cca620845..96abd9f543 100644
--- a/test/functional/terminal/buffer_spec.lua
+++ b/test/functional/terminal/buffer_spec.lua
@@ -1,23 +1,25 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
local tt = require('test.functional.terminal.testutil')
-local assert_alive = t.assert_alive
-local feed, clear = t.feed, t.clear
-local poke_eventloop = t.poke_eventloop
-local nvim_prog = t.nvim_prog
-local eval, feed_command, source = t.eval, t.feed_command, t.source
+
+local assert_alive = n.assert_alive
+local feed, clear = n.feed, n.clear
+local poke_eventloop = n.poke_eventloop
+local nvim_prog = n.nvim_prog
+local eval, feed_command, source = n.eval, n.feed_command, n.source
local pcall_err = t.pcall_err
local eq, neq = t.eq, t.neq
-local api = t.api
+local api = n.api
local retry = t.retry
-local testprg = t.testprg
+local testprg = n.testprg
local write_file = t.write_file
-local command = t.command
-local exc_exec = t.exc_exec
+local command = n.command
+local exc_exec = n.exc_exec
local matches = t.matches
-local exec_lua = t.exec_lua
+local exec_lua = n.exec_lua
local sleep = vim.uv.sleep
-local fn = t.fn
+local fn = n.fn
local is_os = t.is_os
local skip = t.skip
@@ -266,7 +268,7 @@ describe(':terminal buffer', function()
it('does not segfault when pasting empty register #13955', function()
feed('<c-\\><c-n>')
feed_command('put a') -- register a is empty
- t.assert_alive()
+ n.assert_alive()
end)
it([[can use temporary normal mode <c-\><c-o>]], function()
diff --git a/test/functional/terminal/channel_spec.lua b/test/functional/terminal/channel_spec.lua
index c0b97fe414..774ff01291 100644
--- a/test/functional/terminal/channel_spec.lua
+++ b/test/functional/terminal/channel_spec.lua
@@ -1,17 +1,19 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
-local clear = t.clear
+
+local clear = n.clear
local eq = t.eq
-local eval = t.eval
-local command = t.command
+local eval = n.eval
+local command = n.command
local pcall_err = t.pcall_err
-local feed = t.feed
-local poke_eventloop = t.poke_eventloop
+local feed = n.feed
+local poke_eventloop = n.poke_eventloop
local is_os = t.is_os
-local api = t.api
-local async_meths = t.async_meths
-local testprg = t.testprg
-local assert_alive = t.assert_alive
+local api = n.api
+local async_meths = n.async_meths
+local testprg = n.testprg
+local assert_alive = n.assert_alive
describe('terminal channel is closed and later released if', function()
local screen
diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua
index a6084d8bd6..51c6b12e62 100644
--- a/test/functional/terminal/cursor_spec.lua
+++ b/test/functional/terminal/cursor_spec.lua
@@ -1,11 +1,13 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
local tt = require('test.functional.terminal.testutil')
-local feed, clear = t.feed, t.clear
-local testprg, command = t.testprg, t.command
-local eq, eval = t.eq, t.eval
+
+local feed, clear = n.feed, n.clear
+local testprg, command = n.testprg, n.command
+local eq, eval = t.eq, n.eval
local matches = t.matches
-local poke_eventloop = t.poke_eventloop
+local poke_eventloop = n.poke_eventloop
local hide_cursor = tt.hide_cursor
local show_cursor = tt.show_cursor
local is_os = t.is_os
@@ -66,7 +68,7 @@ describe(':terminal cursor', function()
:set number |
]])
feed('i')
- t.poke_eventloop()
+ n.poke_eventloop()
screen:expect([[
{7: 1 }tty ready |
{7: 2 }rows: 6, cols: 46 |
diff --git a/test/functional/terminal/edit_spec.lua b/test/functional/terminal/edit_spec.lua
index 224d43a50c..24c5eb28e5 100644
--- a/test/functional/terminal/edit_spec.lua
+++ b/test/functional/terminal/edit_spec.lua
@@ -1,11 +1,13 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local screen = require('test.functional.ui.screen')
-local testprg = t.testprg
-local command = t.command
-local fn = t.fn
-local api = t.api
-local clear = t.clear
+local testprg = n.testprg
+local command = n.command
+local fn = n.fn
+local api = n.api
+local clear = n.clear
local eq = t.eq
local matches = t.matches
local pesc = vim.pesc
diff --git a/test/functional/terminal/ex_terminal_spec.lua b/test/functional/terminal/ex_terminal_spec.lua
index 9a858c4764..1039572210 100644
--- a/test/functional/terminal/ex_terminal_spec.lua
+++ b/test/functional/terminal/ex_terminal_spec.lua
@@ -1,15 +1,17 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
-local assert_alive = t.assert_alive
-local clear, poke_eventloop = t.clear, t.poke_eventloop
-local testprg, source, eq = t.testprg, t.source, t.eq
-local feed = t.feed
-local feed_command, eval = t.feed_command, t.eval
-local fn = t.fn
-local api = t.api
+
+local assert_alive = n.assert_alive
+local clear, poke_eventloop = n.clear, n.poke_eventloop
+local testprg, source, eq = n.testprg, n.source, t.eq
+local feed = n.feed
+local feed_command, eval = n.feed_command, n.eval
+local fn = n.fn
+local api = n.api
local retry = t.retry
local ok = t.ok
-local command = t.command
+local command = n.command
local skip = t.skip
local is_os = t.is_os
local is_ci = t.is_ci
diff --git a/test/functional/terminal/highlight_spec.lua b/test/functional/terminal/highlight_spec.lua
index 6fdfda82e6..4f3d010d02 100644
--- a/test/functional/terminal/highlight_spec.lua
+++ b/test/functional/terminal/highlight_spec.lua
@@ -1,12 +1,14 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
local tt = require('test.functional.terminal.testutil')
-local feed, clear = t.feed, t.clear
-local api = t.api
-local testprg, command = t.testprg, t.command
-local nvim_prog_abs = t.nvim_prog_abs
-local fn = t.fn
-local nvim_set = t.nvim_set
+
+local feed, clear = n.feed, n.clear
+local api = n.api
+local testprg, command = n.testprg, n.command
+local nvim_prog_abs = n.nvim_prog_abs
+local fn = n.fn
+local nvim_set = n.nvim_set
local is_os = t.is_os
local skip = t.skip
diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua
index d730c0523f..ad98dfc6c3 100644
--- a/test/functional/terminal/mouse_spec.lua
+++ b/test/functional/terminal/mouse_spec.lua
@@ -1,7 +1,9 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local tt = require('test.functional.terminal.testutil')
-local clear, eq, eval = t.clear, t.eq, t.eval
-local feed, api, command = t.feed, t.api, t.command
+local clear, eq, eval = n.clear, t.eq, n.eval
+local feed, api, command = n.feed, n.api, n.command
local feed_data = tt.feed_data
local is_os = t.is_os
local skip = t.skip
diff --git a/test/functional/terminal/scrollback_spec.lua b/test/functional/terminal/scrollback_spec.lua
index 62277ce3ff..229a169996 100644
--- a/test/functional/terminal/scrollback_spec.lua
+++ b/test/functional/terminal/scrollback_spec.lua
@@ -1,17 +1,19 @@
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
-local t = require('test.functional.testutil')()
local tt = require('test.functional.terminal.testutil')
-local clear, eq = t.clear, t.eq
-local feed, testprg = t.feed, t.testprg
-local eval = t.eval
-local command = t.command
-local poke_eventloop = t.poke_eventloop
+
+local clear, eq = n.clear, t.eq
+local feed, testprg = n.feed, n.testprg
+local eval = n.eval
+local command = n.command
+local poke_eventloop = n.poke_eventloop
local retry = t.retry
-local api = t.api
+local api = n.api
local feed_data = tt.feed_data
local pcall_err = t.pcall_err
-local exec_lua = t.exec_lua
-local assert_alive = t.assert_alive
+local exec_lua = n.exec_lua
+local assert_alive = n.assert_alive
local skip = t.skip
local is_os = t.is_os
diff --git a/test/functional/terminal/testutil.lua b/test/functional/terminal/testutil.lua
index c5e5ed5e96..f3fc5d3f93 100644
--- a/test/functional/terminal/testutil.lua
+++ b/test/functional/terminal/testutil.lua
@@ -1,12 +1,13 @@
-- To test tui/input.c, this module spawns `nvim` inside :terminal and sends
-- bytes via jobsend(). Note: the functional/testutil.lua test-session methods
-- operate on the _host_ session, _not_ the child session.
-local t = require('test.functional.testutil')()
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
-local testprg = t.testprg
-local exec_lua = t.exec_lua
-local api = t.api
-local nvim_prog = t.nvim_prog
+
+local testprg = n.testprg
+local exec_lua = n.exec_lua
+local api = n.api
+local nvim_prog = n.nvim_prog
local function feed_data(data)
if type(data) == 'table' then
diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua
index 7f74bf8176..f2f4f356be 100644
--- a/test/functional/terminal/tui_spec.lua
+++ b/test/functional/terminal/tui_spec.lua
@@ -4,31 +4,33 @@
-- "bracketed paste" terminal feature:
-- http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Bracketed-Paste-Mode
-local t = require('test.functional.testutil')()
-local tt = require('test.functional.terminal.testutil')
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
+local tt = require('test.functional.terminal.testutil')
+
local eq = t.eq
local feed_data = tt.feed_data
-local clear = t.clear
-local command = t.command
+local clear = n.clear
+local command = n.command
local dedent = t.dedent
-local exec = t.exec
-local exec_lua = t.exec_lua
-local testprg = t.testprg
+local exec = n.exec
+local exec_lua = n.exec_lua
+local testprg = n.testprg
local retry = t.retry
-local nvim_prog = t.nvim_prog
-local nvim_set = t.nvim_set
+local nvim_prog = n.nvim_prog
+local nvim_set = n.nvim_set
local ok = t.ok
local read_file = t.read_file
-local fn = t.fn
-local api = t.api
+local fn = n.fn
+local api = n.api
local is_ci = t.is_ci
local is_os = t.is_os
-local new_pipename = t.new_pipename
-local spawn_argv = t.spawn_argv
-local set_session = t.set_session
+local new_pipename = n.new_pipename
+local spawn_argv = n.spawn_argv
+local set_session = n.set_session
local write_file = t.write_file
-local eval = t.eval
+local eval = n.eval
local assert_log = t.assert_log
local testlog = 'Xtest-tui-log'
@@ -64,7 +66,7 @@ describe('TUI', function()
|
{3:-- TERMINAL --} |
]])
- child_session = t.connect(child_server)
+ child_session = n.connect(child_server)
child_exec_lua = tt.make_lua_executor(child_session)
end)
@@ -2248,7 +2250,7 @@ describe('TUI FocusGained/FocusLost', function()
|
{3:-- TERMINAL --} |
]])
- child_session = t.connect(child_server)
+ child_session = n.connect(child_server)
child_session:request(
'nvim_exec2',
[[
@@ -2891,7 +2893,7 @@ describe('TUI', function()
screen:expect({ any = '%[No Name%]' })
- local child_session = t.connect(child_server)
+ local child_session = n.connect(child_server)
retry(nil, 1000, function()
eq({
Tc = true,
@@ -2937,7 +2939,7 @@ describe('TUI', function()
screen:expect({ any = '%[No Name%]' })
- local child_session = t.connect(child_server)
+ local child_session = n.connect(child_server)
retry(nil, 1000, function()
eq('Ms', eval("get(g:, 'xtgettcap', '')"))
eq({ true, 'OSC 52' }, { child_session:request('nvim_eval', 'g:clipboard.name') })
@@ -2965,7 +2967,7 @@ describe('TUI bg color', function()
'set noswapfile',
})
screen:expect({ any = '%[No Name%]' })
- local child_session = t.connect(child_server)
+ local child_session = n.connect(child_server)
retry(nil, nil, function()
eq({ true, 'dark' }, { child_session:request('nvim_eval', '&background') })
end)
@@ -2988,7 +2990,7 @@ describe('TUI bg color', function()
'set noswapfile',
})
screen:expect({ any = '%[No Name%]' })
- local child_session = t.connect(child_server)
+ local child_session = n.connect(child_server)
retry(nil, nil, function()
eq({ true, 'light' }, { child_session:request('nvim_eval', '&background') })
end)
diff --git a/test/functional/terminal/window_spec.lua b/test/functional/terminal/window_spec.lua
index 1003ced189..f85e26a66d 100644
--- a/test/functional/terminal/window_spec.lua
+++ b/test/functional/terminal/window_spec.lua
@@ -1,12 +1,14 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local tt = require('test.functional.terminal.testutil')
local feed_data = tt.feed_data
-local feed, clear = t.feed, t.clear
-local poke_eventloop = t.poke_eventloop
-local command = t.command
+local feed, clear = n.feed, n.clear
+local poke_eventloop = n.poke_eventloop
+local command = n.command
local retry = t.retry
local eq = t.eq
-local eval = t.eval
+local eval = n.eval
local skip = t.skip
local is_os = t.is_os
diff --git a/test/functional/terminal/window_split_tab_spec.lua b/test/functional/terminal/window_split_tab_spec.lua
index 8ccdaf21cb..04d2e0bca7 100644
--- a/test/functional/terminal/window_split_tab_spec.lua
+++ b/test/functional/terminal/window_split_tab_spec.lua
@@ -1,13 +1,15 @@
-local t = require('test.functional.testutil')()
+local t = require('test.testutil')
+local n = require('test.functional.testnvim')()
+
local tt = require('test.functional.terminal.testutil')
-local assert_alive = t.assert_alive
-local clear = t.clear
-local feed = t.feed
-local feed_command = t.feed_command
-local command = t.command
+local assert_alive = n.assert_alive
+local clear = n.clear
+local feed = n.feed
+local feed_command = n.feed_command
+local command = n.command
local eq = t.eq
-local eval = t.eval
-local api = t.api
+local eval = n.eval
+local api = n.api
local sleep = vim.uv.sleep
local retry = t.retry
local is_os = t.is_os