aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2021-09-19 02:29:37 -0700
committerGitHub <noreply@github.com>2021-09-19 02:29:37 -0700
commit2afbce7651f79b0626ebeae3688274ce18ac2920 (patch)
treecb1e074962bdfc8ed00bf68775fc1fa0dbca6214 /test/functional/legacy
parent924e8e4f2d88ee5c45e521e9f758b7c9f247a011 (diff)
downloadrneovim-2afbce7651f79b0626ebeae3688274ce18ac2920.tar.gz
rneovim-2afbce7651f79b0626ebeae3688274ce18ac2920.tar.bz2
rneovim-2afbce7651f79b0626ebeae3688274ce18ac2920.zip
refactor(tests): remove redir_exec #15718
Problem - `redir_exec` is obsolete, but it keeps getting used in new tests because people copy existing tests. - Disadvantages of `redir_exec`: - Captures extra junk before the actual error/message that we _want_ to test. - Does not fail on error, unlike e.g. `command()`. Solution - Use new functions like `nvim_exec` and `pcall_err`.
Diffstat (limited to 'test/functional/legacy')
-rw-r--r--test/functional/legacy/063_match_and_matchadd_spec.lua24
-rw-r--r--test/functional/legacy/autocmd_option_spec.lua6
2 files changed, 12 insertions, 18 deletions
diff --git a/test/functional/legacy/063_match_and_matchadd_spec.lua b/test/functional/legacy/063_match_and_matchadd_spec.lua
index a4f5d6ac5b..d164d9c02f 100644
--- a/test/functional/legacy/063_match_and_matchadd_spec.lua
+++ b/test/functional/legacy/063_match_and_matchadd_spec.lua
@@ -6,7 +6,7 @@ local Screen = require('test.functional.ui.screen')
local eval, clear, command = helpers.eval, helpers.clear, helpers.command
local eq, neq = helpers.eq, helpers.neq
local insert = helpers.insert
-local redir_exec = helpers.redir_exec
+local pcall_err = helpers.pcall_err
describe('063: Test for ":match", "matchadd()" and related functions', function()
setup(clear)
@@ -67,9 +67,7 @@ describe('063: Test for ":match", "matchadd()" and related functions', function(
-- matchdelete throws error and returns -1 on failure
neq(true, pcall(function() eval('matchdelete(42)') end))
- eq('\nE803: ID not found: 42',
- redir_exec("let r2 = matchdelete(42)"))
- eq(-1, eval('r2'))
+ eq('Vim(let):E803: ID not found: 42', pcall_err(command, 'let r2 = matchdelete(42)'))
-- Check that "clearmatches()" clears all matches defined by ":match" and
-- "matchadd()".
@@ -105,9 +103,8 @@ describe('063: Test for ":match", "matchadd()" and related functions', function(
-- Check that "setmatches()" will not add two matches with the same ID. The
-- expected behaviour (for now) is to add the first match but not the
-- second and to return -1.
- eq('\nE801: ID already taken: 1',
- redir_exec("let r1 = setmatches([{'group': 'MyGroup1', 'pattern': 'TODO', 'priority': 10, 'id': 1}, {'group': 'MyGroup2', 'pattern': 'FIXME', 'priority': 10, 'id': 1}])"))
- eq(-1, eval("r1"))
+ eq('Vim(let):E801: ID already taken: 1',
+ pcall_err(command, "let r1 = setmatches([{'group': 'MyGroup1', 'pattern': 'TODO', 'priority': 10, 'id': 1}, {'group': 'MyGroup2', 'pattern': 'FIXME', 'priority': 10, 'id': 1}])"))
eq({{group = 'MyGroup1', pattern = 'TODO', priority = 10, id = 1}}, eval('getmatches()'))
-- Check that "setmatches()" returns 0 if successful and otherwise -1.
@@ -116,14 +113,11 @@ describe('063: Test for ":match", "matchadd()" and related functions', function(
eq(0,eval("setmatches([])"))
eq(0,eval("setmatches([{'group': 'MyGroup1', 'pattern': 'TODO', 'priority': 10, 'id': 1}])"))
command("call clearmatches()")
- eq('\nE714: List required', redir_exec("let rf1 = setmatches(0)"))
- eq(-1, eval('rf1'))
- eq('\nE474: List item 0 is either not a dictionary or an empty one',
- redir_exec("let rf2 = setmatches([0])"))
- eq(-1, eval('rf2'))
- eq('\nE474: List item 0 is missing one of the required keys',
- redir_exec("let rf3 = setmatches([{'wrong key': 'wrong value'}])"))
- eq(-1, eval('rf3'))
+ eq('Vim(let):E714: List required', pcall_err(command, 'let rf1 = setmatches(0)'))
+ eq('Vim(let):E474: List item 0 is either not a dictionary or an empty one',
+ pcall_err(command, 'let rf2 = setmatches([0])'))
+ eq('Vim(let):E474: List item 0 is missing one of the required keys',
+ pcall_err(command, "let rf3 = setmatches([{'wrong key': 'wrong value'}])"))
-- Check that "matchaddpos()" positions matches correctly
insert('abcdefghijklmnopq')
diff --git a/test/functional/legacy/autocmd_option_spec.lua b/test/functional/legacy/autocmd_option_spec.lua
index 0c7e43bf31..1914818215 100644
--- a/test/functional/legacy/autocmd_option_spec.lua
+++ b/test/functional/legacy/autocmd_option_spec.lua
@@ -3,7 +3,7 @@ local nvim = helpers.meths
local clear, eq, neq = helpers.clear, helpers.eq, helpers.neq
local curbuf, buf = helpers.curbuf, helpers.bufmeths
local curwin = helpers.curwin
-local redir_exec = helpers.redir_exec
+local exec_capture = helpers.exec_capture
local source, command = helpers.source, helpers.command
local function declare_hook_function()
@@ -102,13 +102,13 @@ local function get_new_window_number()
local old_win = curwin()
command('botright new')
local new_win = curwin()
- local new_winnr = redir_exec('echo winnr()')
+ local new_winnr = exec_capture('echo winnr()')
command('wincmd p') -- move previous window
neq(old_win, new_win)
eq(old_win, curwin())
- return new_winnr:gsub('\n', '')
+ return new_winnr
end
describe('au OptionSet', function()