diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2021-09-19 02:29:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-19 02:29:37 -0700 |
commit | 2afbce7651f79b0626ebeae3688274ce18ac2920 (patch) | |
tree | cb1e074962bdfc8ed00bf68775fc1fa0dbca6214 /test/functional/legacy | |
parent | 924e8e4f2d88ee5c45e521e9f758b7c9f247a011 (diff) | |
download | rneovim-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.lua | 24 | ||||
-rw-r--r-- | test/functional/legacy/autocmd_option_spec.lua | 6 |
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() |