test: Rename meth_pcall to pcall_err

- Rename `meth_pcall`.
- Make `pcall_err` raise an error if the function does not fail.
- Add `vim.pesc()` to treat a string as literal where a Lua pattern is
  expected.
This commit is contained in:
Justin M. Keyes
2019-09-03 22:51:45 +02:00
parent 638f2b6dee
commit af946046b9
13 changed files with 124 additions and 112 deletions

View File

@@ -73,14 +73,26 @@ function module.matches(pat, actual)
end
error(string.format('Pattern does not match.\nPattern:\n%s\nActual:\n%s', pat, actual))
end
-- Expect an error matching pattern `pat`.
function module.expect_err(pat, ...)
local fn = select(1, ...)
-- Expects an error matching Lua pattern `pat`.
--
function module.expect_err(pat, fn, ...)
assert(type(fn) == 'function')
local fn_args = {...}
table.remove(fn_args, 1)
assert.error_matches(function() return fn(unpack(fn_args)) end, pat)
end
-- Invokes `fn` and returns the error string, or raises an error if `fn` succeeds.
function module.pcall_err(fn, ...)
assert(type(fn) == 'function')
local status, rv = pcall(fn, ...)
if status == true then
error('expected failure, but got success')
end
local errmsg = tostring(rv):gsub('^[^:]+:%d+: ', '')
return errmsg
end
-- initial_path: directory to recurse into
-- re: include pattern (string)
-- exc_re: exclude pattern(s) (string or table)