aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-01-15 16:10:51 +0000
committerLewis Russell <lewis6991@gmail.com>2024-01-17 10:10:17 +0000
commitb536e0ba37addaea5507b054120e4c1e122c4405 (patch)
tree7941777386b9467824c9089510b33acf9323e75d /test
parentb3e5587b7f1cd6206240aea38740d2205c10ae34 (diff)
downloadrneovim-b536e0ba37addaea5507b054120e4c1e122c4405.tar.gz
rneovim-b536e0ba37addaea5507b054120e4c1e122c4405.tar.bz2
rneovim-b536e0ba37addaea5507b054120e4c1e122c4405.zip
test: big cleanup followup
Followup to 07a7c0ec
Diffstat (limited to 'test')
-rw-r--r--test/functional/api/vim_spec.lua34
-rw-r--r--test/functional/ex_cmds/swapfile_preserve_recover_spec.lua2
-rw-r--r--test/functional/helpers.lua58
-rw-r--r--test/functional/lua/luaeval_spec.lua4
-rw-r--r--test/functional/terminal/channel_spec.lua6
-rw-r--r--test/functional/ui/messages_spec.lua8
-rw-r--r--test/functional/ui/popupmenu_spec.lua2
-rw-r--r--test/functional/vimscript/ctx_functions_spec.lua4
-rw-r--r--test/functional/vimscript/input_spec.lua20
-rw-r--r--test/functional/vimscript/timer_spec.lua18
10 files changed, 72 insertions, 84 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 8d9789a3ce..fb10ed34e5 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -8,7 +8,7 @@ local assert_alive = helpers.assert_alive
local NIL = vim.NIL
local clear, eq, neq = helpers.clear, helpers.eq, helpers.neq
local command = helpers.command
-local command_output = helpers.api.command_output
+local command_output = helpers.api.nvim_command_output
local exec = helpers.exec
local exec_capture = helpers.exec_capture
local eval = helpers.eval
@@ -19,6 +19,7 @@ local matches = helpers.matches
local pesc = vim.pesc
local mkdir_p = helpers.mkdir_p
local ok, nvim_async, feed = helpers.ok, helpers.nvim_async, helpers.feed
+local async_meths = helpers.async_meths
local is_os = helpers.is_os
local parse_context = helpers.parse_context
local request = helpers.request
@@ -76,7 +77,7 @@ describe('API', function()
eq({
'notification',
'nvim_error_event',
- { error_types.Exception.id, 'Invalid method: nvim_bogus' },
+ { error_types.Exception.id, 'Invalid method: bogus' },
}, next_msg())
-- error didn't close channel.
assert_alive()
@@ -84,7 +85,7 @@ describe('API', function()
it('failed async request emits nvim_error_event', function()
local error_types = api.nvim_get_api_info()[2].error_types
- nvim_async('command', 'bogus')
+ async_meths.nvim_command('bogus')
eq({
'notification',
'nvim_error_event',
@@ -2081,13 +2082,13 @@ describe('API', function()
{ ['rc'] = { 'hjkl' }, ['n'] = 97 },
},
- ['jumps'] = eval(([[
+ ['jumps'] = eval((([[
filter(map(add(
getjumplist()[0], { 'bufnr': bufnr('%'), 'lnum': getcurpos()[1] }),
'filter(
{ "f": expand("#".v:val.bufnr.":p"), "l": v:val.lnum },
{ k, v -> k != "l" || v != 1 })'), '!empty(v:val.f)')
- ]]):gsub('\n', '')),
+ ]]):gsub('\n', ''))),
['bufs'] = eval([[
filter(map(getbufinfo(), '{ "f": v:val.name }'), '!empty(v:val.f)')
@@ -2301,7 +2302,7 @@ describe('API', function()
end)
it('can show one line', function()
- nvim_async('err_write', 'has bork\n')
+ async_meths.nvim_err_write('has bork\n')
screen:expect([[
^ |
{0:~ }|*6
@@ -2310,7 +2311,7 @@ describe('API', function()
end)
it('shows return prompt when more than &cmdheight lines', function()
- nvim_async('err_write', 'something happened\nvery bad\n')
+ async_meths.nvim_err_write('something happened\nvery bad\n')
screen:expect([[
|
{0:~ }|*3
@@ -2322,7 +2323,7 @@ describe('API', function()
end)
it('shows return prompt after all lines are shown', function()
- nvim_async('err_write', 'FAILURE\nERROR\nEXCEPTION\nTRACEBACK\n')
+ async_meths.nvim_err_write('FAILURE\nERROR\nEXCEPTION\nTRACEBACK\n')
screen:expect([[
|
{0:~ }|
@@ -2337,8 +2338,8 @@ describe('API', function()
it('handles multiple calls', function()
-- without linebreak text is joined to one line
- nvim_async('err_write', 'very ')
- nvim_async('err_write', 'fail\n')
+ async_meths.nvim_err_write('very ')
+ async_meths.nvim_err_write('fail\n')
screen:expect([[
^ |
{0:~ }|*6
@@ -2347,7 +2348,7 @@ describe('API', function()
helpers.poke_eventloop()
-- shows up to &cmdheight lines
- nvim_async('err_write', 'more fail\ntoo fail\n')
+ async_meths.nvim_err_write('more fail\ntoo fail\n')
screen:expect([[
|
{0:~ }|*3
@@ -2360,7 +2361,7 @@ describe('API', function()
end)
it('NUL bytes in message', function()
- nvim_async('err_write', 'aaa\0bbb\0\0ccc\nddd\0\0\0eee\n')
+ async_meths.nvim_err_write('aaa\0bbb\0\0ccc\nddd\0\0\0eee\n')
screen:expect {
grid = [[
|
@@ -2389,7 +2390,7 @@ describe('API', function()
end)
it('shows only one return prompt after all lines are shown', function()
- nvim_async('err_writeln', 'FAILURE\nERROR\nEXCEPTION\nTRACEBACK')
+ async_meths.nvim_err_writeln('FAILURE\nERROR\nEXCEPTION\nTRACEBACK')
screen:expect([[
|
{0:~ }|
@@ -3394,8 +3395,7 @@ describe('API', function()
end)
it('can show highlighted line', function()
- nvim_async(
- 'echo',
+ async_meths.nvim_echo(
{ { 'msg_a' }, { 'msg_b', 'Statement' }, { 'msg_c', 'Special' } },
true,
{}
@@ -3410,7 +3410,7 @@ describe('API', function()
end)
it('can show highlighted multiline', function()
- nvim_async('echo', { { 'msg_a\nmsg_a', 'Statement' }, { 'msg_b', 'Special' } }, true, {})
+ async_meths.nvim_echo({ { 'msg_a\nmsg_a', 'Statement' }, { 'msg_b', 'Special' } }, true, {})
screen:expect {
grid = [[
|
@@ -3431,7 +3431,7 @@ describe('API', function()
it('can disable saving message history', function()
command('set cmdheight=2') -- suppress Press ENTER
- nvim_async('echo', { { 'msg\nmsg' }, { 'msg' } }, false, {})
+ async_meths.nvim_echo({ { 'msg\nmsg' }, { 'msg' } }, false, {})
eq('', exec_capture('messages'))
end)
end)
diff --git a/test/functional/ex_cmds/swapfile_preserve_recover_spec.lua b/test/functional/ex_cmds/swapfile_preserve_recover_spec.lua
index 4c2e54cc6b..a6fdb919c5 100644
--- a/test/functional/ex_cmds/swapfile_preserve_recover_spec.lua
+++ b/test/functional/ex_cmds/swapfile_preserve_recover_spec.lua
@@ -222,7 +222,7 @@ describe('swapfile detection', function()
screen2:expect(expected_no_dialog)
-- With API call and shortmess+=F
- async_meths.command('edit %')
+ async_meths.nvim_command('edit %')
screen2:expect {
any = [[Found a swap file by the name ".*]]
.. [[Xtest_swapdialog_dir[/\].*]]
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index e9f8f30aa0..5653810f28 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -311,18 +311,6 @@ function module.expect_exit(fn_or_timeout, ...)
end
end
--- Evaluates a Vimscript expression.
--- Fails on Vimscript error, but does not update v:errmsg.
-function module.eval(expr)
- return module.request('nvim_eval', expr)
-end
-
--- Executes a Vimscript function via RPC.
--- Fails on Vimscript error, but does not update v:errmsg.
-function module.call(name, ...)
- return module.request('nvim_call_function', name, { ... })
-end
-
-- Executes a Vimscript function via Lua.
-- Fails on Vimscript error, but does not update v:errmsg.
function module.call_lua(name, ...)
@@ -598,8 +586,7 @@ function module.set_shell_powershell(fake)
end
function module.create_callindex(func)
- local table = {}
- setmetatable(table, {
+ return setmetatable({}, {
__index = function(tbl, arg1)
local ret = function(...)
return func(arg1, ...)
@@ -608,36 +595,29 @@ function module.create_callindex(func)
return ret
end,
})
- return table
end
-local function ui(method, ...)
- return module.request('nvim_ui_' .. method, ...)
+function module.nvim_async(method, ...)
+ session:notify(method, ...)
end
-function module.nvim_async(method, ...)
- session:notify('nvim_' .. method, ...)
+-- Executes a Vimscript function via RPC.
+-- Fails on Vimscript error, but does not update v:errmsg.
+function module.call(name, ...)
+ return module.request('nvim_call_function', name, { ... })
end
module.async_meths = module.create_callindex(module.nvim_async)
-module.uimeths = module.create_callindex(ui)
-local function create_bridge(request, call)
- local function nvim(method, ...)
- if vim.startswith(method, 'nvim_') then
- return request(method, ...)
- end
- return request('nvim_' .. method, ...)
- end
-
- return {
- fn = module.create_callindex(call),
- api = module.create_callindex(nvim),
- }
-end
+module.rpc = {
+ fn = module.create_callindex(module.call),
+ api = module.create_callindex(module.request),
+}
-module.rpc = create_bridge(module.request, module.call)
-module.lua = create_bridge(module.request_lua, module.call_lua)
+module.lua = {
+ fn = module.create_callindex(module.call_lua),
+ api = module.create_callindex(module.request_lua),
+}
module.describe_lua_and_rpc = function(describe)
return function(what, tests)
@@ -664,10 +644,14 @@ end
-- v:errmsg will not be updated.
module.command = module.api.nvim_command
+-- Evaluates a Vimscript expression.
+-- Fails on Vimscript error, but does not update v:errmsg.
+module.eval = module.api.nvim_eval
+
function module.poke_eventloop()
-- Execute 'nvim_eval' (a deferred function) to
-- force at least one main_loop iteration
- session:request('nvim_eval', '1')
+ module.api.nvim_eval('1')
end
function module.buf_lines(bufnr)
@@ -832,7 +816,7 @@ end
--- @param code string
--- @return any
function module.exec_lua(code, ...)
- return module.api.exec_lua(code, { ... })
+ return module.api.nvim_exec_lua(code, { ... })
end
function module.get_pathsep()
diff --git a/test/functional/lua/luaeval_spec.lua b/test/functional/lua/luaeval_spec.lua
index 6ed7af6b6e..171d37ba55 100644
--- a/test/functional/lua/luaeval_spec.lua
+++ b/test/functional/lua/luaeval_spec.lua
@@ -162,7 +162,7 @@ describe('luaeval()', function()
return sp('map', '[' .. val .. ']')
end
local function luaevalarg(argexpr, expr)
- return eval(([=[
+ return eval((([=[
[
extend(g:, {'_ret': luaeval(%s, %s)})._ret,
type(g:_ret)==type({})&&has_key(g:_ret, '_TYPE')
@@ -172,7 +172,7 @@ describe('luaeval()', function()
get(g:_ret, '_VAL', g:_ret)
]
: [0, g:_ret]][1]
- ]=]):format(expr or '"_A"', argexpr):gsub('\n', ''))
+ ]=]):format(expr or '"_A"', argexpr):gsub('\n', '')))
end
it('correctly passes special dictionaries', function()
diff --git a/test/functional/terminal/channel_spec.lua b/test/functional/terminal/channel_spec.lua
index 2b39c93f14..9615534c87 100644
--- a/test/functional/terminal/channel_spec.lua
+++ b/test/functional/terminal/channel_spec.lua
@@ -151,7 +151,7 @@ describe('no crash when TermOpen autocommand', function()
it('processes job exit event when using termopen()', function()
command([[autocmd TermOpen * call input('')]])
- async_meths.command('terminal foobar')
+ async_meths.nvim_command('terminal foobar')
screen:expect {
grid = [[
|
@@ -181,7 +181,7 @@ describe('no crash when TermOpen autocommand', function()
it('wipes buffer and processes events when using termopen()', function()
command([[autocmd TermOpen * bwipe! | call input('')]])
- async_meths.command('terminal foobar')
+ async_meths.nvim_command('terminal foobar')
screen:expect {
grid = [[
|
@@ -202,7 +202,7 @@ describe('no crash when TermOpen autocommand', function()
it('wipes buffer and processes events when using nvim_open_term()', function()
command([[autocmd TermOpen * bwipe! | call input('')]])
- async_meths.open_term(0, {})
+ async_meths.nvim_open_term(0, {})
screen:expect {
grid = [[
|
diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua
index 4f95cd909c..a742f765a9 100644
--- a/test/functional/ui/messages_spec.lua
+++ b/test/functional/ui/messages_spec.lua
@@ -1039,7 +1039,7 @@ stack traceback:
end)
it('supports nvim_echo messages with multiple attrs', function()
- async_meths.echo(
+ async_meths.nvim_echo(
{ { 'wow, ', 'Search' }, { 'such\n\nvery ', 'ErrorMsg' }, { 'color', 'LineNr' } },
true,
{}
@@ -1403,7 +1403,7 @@ vimComment xxx match /\s"[^\-:.%#=*].*$/ms=s+1,lc=1 excludenl contains=@vim
end)
it('supports nvim_echo messages with multiple attrs', function()
- async_meths.echo(
+ async_meths.nvim_echo(
{ { 'wow, ', 'Search' }, { 'such\n\nvery ', 'ErrorMsg' }, { 'color', 'LineNr' } },
true,
{}
@@ -1521,7 +1521,7 @@ vimComment xxx match /\s"[^\-:.%#=*].*$/ms=s+1,lc=1 excludenl contains=@vim
end)
it('consecutive calls to win_move_statusline() work after multiline message #21014', function()
- async_meths.exec(
+ async_meths.nvim_exec(
[[
echo "\n"
call win_move_statusline(0, -4)
@@ -2196,7 +2196,7 @@ aliquip ex ea commodo consequat.]]
}
-- not processed while command is executing
- async_meths.ui_try_resize(35, 5)
+ async_meths.nvim_ui_try_resize(35, 5)
-- TODO(bfredl): ideally it should be processed just
-- before the "press ENTER" prompt though
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua
index b74a15d56f..1f7d187016 100644
--- a/test/functional/ui/popupmenu_spec.lua
+++ b/test/functional/ui/popupmenu_spec.lua
@@ -2527,7 +2527,7 @@ describe('builtin popupmenu', function()
]])
end
feed('<C-E>')
- async_meths.call_function('input', { '', '', 'sign' })
+ async_meths.nvim_call_function('input', { '', '', 'sign' })
if multigrid then
screen:expect {
grid = [[
diff --git a/test/functional/vimscript/ctx_functions_spec.lua b/test/functional/vimscript/ctx_functions_spec.lua
index b8f9bbc92d..dc60a474f3 100644
--- a/test/functional/vimscript/ctx_functions_spec.lua
+++ b/test/functional/vimscript/ctx_functions_spec.lua
@@ -314,13 +314,13 @@ describe('context functions', function()
}
local with_jumps = {
- ['jumps'] = eval(([[
+ ['jumps'] = eval((([[
filter(map(add(
getjumplist()[0], { 'bufnr': bufnr('%'), 'lnum': getcurpos()[1] }),
'filter(
{ "f": expand("#".v:val.bufnr.":p"), "l": v:val.lnum },
{ k, v -> k != "l" || v != 1 })'), '!empty(v:val.f)')
- ]]):gsub('\n', '')),
+ ]]):gsub('\n', ''))),
}
local with_bufs = {
diff --git a/test/functional/vimscript/input_spec.lua b/test/functional/vimscript/input_spec.lua
index 6dd22078d6..b749d5a7f0 100644
--- a/test/functional/vimscript/input_spec.lua
+++ b/test/functional/vimscript/input_spec.lua
@@ -414,19 +414,19 @@ describe('confirm()', function()
-- screen:expect() calls are needed to avoid feeding input too early
screen:expect({ any = '%[No Name%]' })
- async_meths.command([[let a = confirm('Press O to proceed')]])
+ async_meths.nvim_command([[let a = confirm('Press O to proceed')]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('o')
screen:expect({ any = '%[No Name%]' })
eq(1, api.nvim_get_var('a'))
- async_meths.command([[let a = 'Are you sure?'->confirm("&Yes\n&No")]])
+ async_meths.nvim_command([[let a = 'Are you sure?'->confirm("&Yes\n&No")]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('y')
screen:expect({ any = '%[No Name%]' })
eq(1, api.nvim_get_var('a'))
- async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
+ async_meths.nvim_command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('n')
screen:expect({ any = '%[No Name%]' })
@@ -435,26 +435,26 @@ describe('confirm()', function()
-- Not possible to match Vim's CTRL-C test here as CTRL-C always sets got_int in Nvim.
-- confirm() should return 0 when pressing ESC.
- async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
+ async_meths.nvim_command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('<Esc>')
screen:expect({ any = '%[No Name%]' })
eq(0, api.nvim_get_var('a'))
-- Default choice is returned when pressing <CR>.
- async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
+ async_meths.nvim_command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('<CR>')
screen:expect({ any = '%[No Name%]' })
eq(1, api.nvim_get_var('a'))
- async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No", 2)]])
+ async_meths.nvim_command([[let a = confirm('Are you sure?', "&Yes\n&No", 2)]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('<CR>')
screen:expect({ any = '%[No Name%]' })
eq(2, api.nvim_get_var('a'))
- async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No", 0)]])
+ async_meths.nvim_command([[let a = confirm('Are you sure?', "&Yes\n&No", 0)]])
screen:expect({ any = '{CONFIRM:.+: }' })
feed('<CR>')
screen:expect({ any = '%[No Name%]' })
@@ -462,7 +462,9 @@ describe('confirm()', function()
-- Test with the {type} 4th argument
for _, type in ipairs({ 'Error', 'Question', 'Info', 'Warning', 'Generic' }) do
- async_meths.command(([[let a = confirm('Are you sure?', "&Yes\n&No", 1, '%s')]]):format(type))
+ async_meths.nvim_command(
+ ([[let a = confirm('Are you sure?', "&Yes\n&No", 1, '%s')]]):format(type)
+ )
screen:expect({ any = '{CONFIRM:.+: }' })
feed('y')
screen:expect({ any = '%[No Name%]' })
@@ -518,7 +520,7 @@ describe('confirm()', function()
feed(':call nvim_command("edit x")<cr>')
check_and_clear(':call nvim_command("edit |\n')
- async_meths.command('edit x')
+ async_meths.nvim_command('edit x')
check_and_clear(' |\n')
end)
end)
diff --git a/test/functional/vimscript/timer_spec.lua b/test/functional/vimscript/timer_spec.lua
index 3f53c21e7a..046d451888 100644
--- a/test/functional/vimscript/timer_spec.lua
+++ b/test/functional/vimscript/timer_spec.lua
@@ -1,7 +1,7 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local feed, eq, eval, ok = helpers.feed, helpers.eq, helpers.eval, helpers.ok
-local source, nvim_async, run = helpers.source, helpers.nvim_async, helpers.run
+local source, async_meths, run = helpers.source, helpers.async_meths, helpers.run
local clear, command, fn = helpers.clear, helpers.command, helpers.fn
local exc_exec = helpers.exc_exec
local api = helpers.api
@@ -52,9 +52,9 @@ describe('timers', function()
endfunc
]])
eval("timer_start(10, 'MyHandler', {'repeat': -1})")
- nvim_async('command', 'sleep 10')
+ async_meths.nvim_command('sleep 10')
eq(-1, eval('g:val')) -- timer did nothing yet.
- nvim_async('command', 'let g:val = 0')
+ async_meths.nvim_command('let g:val = 0')
run(nil, nil, nil, load_adjust(20))
retry(nil, nil, function()
eq(2, eval('g:val'))
@@ -70,7 +70,7 @@ describe('timers', function()
end)
it('can be started during sleep', function()
- nvim_async('command', 'sleep 10')
+ async_meths.nvim_command('sleep 10')
-- this also tests that remote requests works during sleep
eq(0, eval("[timer_start(10, 'MyHandler', {'repeat': 2}), g:val][1]"))
run(nil, nil, nil, load_adjust(20))
@@ -94,7 +94,7 @@ describe('timers', function()
it('are triggered in blocking getchar() call', function()
command("call timer_start(5, 'MyHandler', {'repeat': -1})")
- nvim_async('command', 'let g:val = 0 | let g:c = getchar()')
+ async_meths.nvim_command('let g:val = 0 | let g:c = getchar()')
retry(nil, nil, function()
local val = eval('g:val')
ok(val >= 2, '>= 2', tostring(val))
@@ -128,8 +128,10 @@ describe('timers', function()
redraw
endfunc
]])
- nvim_async('command', 'let g:c2 = getchar()')
- nvim_async('command', 'call timer_start(' .. load_adjust(100) .. ", 'AddItem', {'repeat': -1})")
+ async_meths.nvim_command('let g:c2 = getchar()')
+ async_meths.nvim_command(
+ 'call timer_start(' .. load_adjust(100) .. ", 'AddItem', {'repeat': -1})"
+ )
screen:expect([[
^ITEM 1 |
@@ -137,7 +139,7 @@ describe('timers', function()
{1:~ }|*3
|
]])
- nvim_async('command', 'let g:cont = 1')
+ async_meths.nvim_command('let g:cont = 1')
screen:expect([[
^ITEM 1 |