aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/utility_functions_spec.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2019-10-21 23:46:28 +0900
committerJustin M. Keyes <justinkz@gmail.com>2019-10-26 00:27:01 -0700
commit996a057fb9b4b7d791adad19f07b2f9c53a88ab5 (patch)
treefca179ca156ec70140f80e7764da1749bbda8244 /test/functional/lua/utility_functions_spec.lua
parent91b831da8b00319afba6a90b439d70960f90c3f7 (diff)
downloadrneovim-996a057fb9b4b7d791adad19f07b2f9c53a88ab5.tar.gz
rneovim-996a057fb9b4b7d791adad19f07b2f9c53a88ab5.tar.bz2
rneovim-996a057fb9b4b7d791adad19f07b2f9c53a88ab5.zip
lua/stdlib: adjust some validation messages #11271
close #11271
Diffstat (limited to 'test/functional/lua/utility_functions_spec.lua')
-rw-r--r--test/functional/lua/utility_functions_spec.lua42
1 files changed, 27 insertions, 15 deletions
diff --git a/test/functional/lua/utility_functions_spec.lua b/test/functional/lua/utility_functions_spec.lua
index ea2b1fc8a9..dfcbcf06eb 100644
--- a/test/functional/lua/utility_functions_spec.lua
+++ b/test/functional/lua/utility_functions_spec.lua
@@ -9,6 +9,8 @@ local eval = helpers.eval
local feed = helpers.feed
local pcall_err = helpers.pcall_err
local exec_lua = helpers.exec_lua
+local matches = helpers.matches
+local iswin = helpers.iswin
before_each(clear)
@@ -147,11 +149,8 @@ describe('lua stdlib', function()
eq({"yy","xx"}, exec_lua("return test_table"))
-- type checked args
- eq('Error executing lua: vim.schedule: expected function',
- pcall_err(exec_lua, "vim.schedule('stringly')"))
-
- eq('Error executing lua: vim.schedule: expected function',
- pcall_err(exec_lua, "vim.schedule()"))
+ eq('Error executing lua: vim.schedule: expected function', pcall_err(exec_lua, "vim.schedule('stringly')"))
+ eq('Error executing lua: vim.schedule: expected function', pcall_err(exec_lua, "vim.schedule()"))
exec_lua([[
vim.schedule(function()
@@ -195,8 +194,8 @@ describe('lua stdlib', function()
end)
it("vim.split", function()
- local split = function(str, sep)
- return exec_lua('return vim.split(...)', str, sep)
+ local split = function(str, sep, plain)
+ return exec_lua('return vim.split(...)', str, sep, plain)
end
local tests = {
@@ -221,10 +220,15 @@ describe('lua stdlib', function()
}
for _, t in ipairs(loops) do
- local status, err = pcall(split, t[1], t[2])
- eq(false, status)
- assert(string.match(err, "Infinite loop detected"))
+ matches(".*Infinite loop detected", pcall_err(split, t[1], t[2]))
end
+
+ -- type checked args
+ eq(true, pcall(split, 'string', 'string', nil))
+ local path_pattern = iswin() and '[a-zA-Z]:[^:]+:%d+:' or '[^:]+:%d+:'
+ matches("Error executing lua: "..path_pattern.." Expected string, got number", pcall_err(split, 1, 'string', nil))
+ matches("Error executing lua: "..path_pattern.." Expected string, got number", pcall_err(split, 'string', 1, nil))
+ matches("Error executing lua: "..path_pattern.." Expected boolean or nil, got number", pcall_err(split, 'string', 'string', 1))
end)
it('vim.trim', function()
@@ -243,9 +247,9 @@ describe('lua stdlib', function()
assert(t[2], trim(t[1]))
end
- local status, err = pcall(trim, 2)
- eq(false, status)
- assert(string.match(err, "Only strings can be trimmed"))
+ -- type checked args
+ local path_pattern = iswin() and '[a-zA-Z]:[^:]+:%d+:' or '[^:]+:%d+:'
+ matches("Error executing lua: "..path_pattern.." Expected string, got number", pcall_err(trim, 2))
end)
it('vim.inspect', function()
@@ -285,7 +289,15 @@ describe('lua stdlib', function()
end)
it('vim.pesc', function()
- eq('foo%-bar', exec_lua([[return vim.pesc('foo-bar')]]))
- eq('foo%%%-bar', exec_lua([[return vim.pesc(vim.pesc('foo-bar'))]]))
+ local pesc = function(s)
+ return exec_lua('return vim.pesc(...)', s)
+ end
+
+ eq('foo%-bar', pesc('foo-bar'))
+ eq('foo%%%-bar', pesc(pesc('foo-bar')))
+
+ -- type checked args
+ local path_pattern = iswin() and '[a-zA-Z]:[^:]+:%d+:' or '[^:]+:%d+:'
+ matches("Error executing lua: "..path_pattern.." Expected string, got number", pcall_err(pesc, 2))
end)
end)