aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/commands_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-01-03 02:09:18 +0100
committerJustin M. Keyes <justinkz@gmail.com>2024-01-03 02:09:29 +0100
commit04f2f864e270e772c6326cefdf24947f0130e492 (patch)
tree46f83f909b888a66c741032ab955afc6eab84292 /test/functional/lua/commands_spec.lua
parent59d117ec99b6037cb9fad5bbfb6d0b18f5012927 (diff)
downloadrneovim-04f2f864e270e772c6326cefdf24947f0130e492.tar.gz
rneovim-04f2f864e270e772c6326cefdf24947f0130e492.tar.bz2
rneovim-04f2f864e270e772c6326cefdf24947f0130e492.zip
refactor: format test/*
Diffstat (limited to 'test/functional/lua/commands_spec.lua')
-rw-r--r--test/functional/lua/commands_spec.lua204
1 files changed, 126 insertions, 78 deletions
diff --git a/test/functional/lua/commands_spec.lua b/test/functional/lua/commands_spec.lua
index d8a68219c1..b7bf2b2eae 100644
--- a/test/functional/lua/commands_spec.lua
+++ b/test/functional/lua/commands_spec.lua
@@ -25,43 +25,53 @@ before_each(clear)
describe(':lua command', function()
it('works', function()
- eq('', exec_capture(
- 'lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"TEST"})'))
- eq({'', 'TEST'}, curbufmeths.get_lines(0, 100, false))
+ eq('', exec_capture('lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"TEST"})'))
+ eq({ '', 'TEST' }, curbufmeths.get_lines(0, 100, false))
source([[
lua << EOF
vim.api.nvim_buf_set_lines(1, 1, 2, false, {"TSET"})
EOF]])
- eq({'', 'TSET'}, curbufmeths.get_lines(0, 100, false))
+ eq({ '', 'TSET' }, curbufmeths.get_lines(0, 100, false))
source([[
lua << EOF
vim.api.nvim_buf_set_lines(1, 1, 2, false, {"SETT"})]])
- eq({'', 'SETT'}, curbufmeths.get_lines(0, 100, false))
+ eq({ '', 'SETT' }, curbufmeths.get_lines(0, 100, false))
source([[
lua << EOF
vim.api.nvim_buf_set_lines(1, 1, 2, false, {"ETTS"})
vim.api.nvim_buf_set_lines(1, 2, 3, false, {"TTSE"})
vim.api.nvim_buf_set_lines(1, 3, 4, false, {"STTE"})
EOF]])
- eq({'', 'ETTS', 'TTSE', 'STTE'}, curbufmeths.get_lines(0, 100, false))
- matches('.*Vim%(lua%):E15: Invalid expression: .*', pcall_err(source, [[
+ eq({ '', 'ETTS', 'TTSE', 'STTE' }, curbufmeths.get_lines(0, 100, false))
+ matches(
+ '.*Vim%(lua%):E15: Invalid expression: .*',
+ pcall_err(
+ source,
+ [[
lua << eval EOF
{}
EOF
- ]]))
+ ]]
+ )
+ )
end)
it('throws catchable errors', function()
- eq([[Vim(lua):E5107: Error loading lua [string ":lua"]:0: unexpected symbol near ')']],
- pcall_err(command, 'lua ()'))
- eq([[Vim(lua):E5108: Error executing lua [string ":lua"]:1: TEST]],
- remove_trace(exc_exec('lua error("TEST")')))
- eq([[Vim(lua):E5108: Error executing lua [string ":lua"]:1: Invalid buffer id: -10]],
- remove_trace(exc_exec('lua vim.api.nvim_buf_set_lines(-10, 1, 1, false, {"TEST"})')))
- eq({''}, curbufmeths.get_lines(0, 100, false))
+ eq(
+ [[Vim(lua):E5107: Error loading lua [string ":lua"]:0: unexpected symbol near ')']],
+ pcall_err(command, 'lua ()')
+ )
+ eq(
+ [[Vim(lua):E5108: Error executing lua [string ":lua"]:1: TEST]],
+ remove_trace(exc_exec('lua error("TEST")'))
+ )
+ eq(
+ [[Vim(lua):E5108: Error executing lua [string ":lua"]:1: Invalid buffer id: -10]],
+ remove_trace(exc_exec('lua vim.api.nvim_buf_set_lines(-10, 1, 1, false, {"TEST"})'))
+ )
+ eq({ '' }, curbufmeths.get_lines(0, 100, false))
end)
it('works with NULL errors', function()
- eq([=[Vim(lua):E5108: Error executing lua [NULL]]=],
- exc_exec('lua error(nil)'))
+ eq([=[Vim(lua):E5108: Error executing lua [NULL]]=], exc_exec('lua error(nil)'))
end)
it('accepts embedded NLs without heredoc', function()
-- Such code is usually used for `:execute 'lua' {generated_string}`:
@@ -72,7 +82,7 @@ describe(':lua command', function()
vim.api.nvim_buf_set_lines(1, 2, 3, false, {"TTSE"})
vim.api.nvim_buf_set_lines(1, 3, 4, false, {"STTE"})
]])
- eq({'', 'ETTS', 'TTSE', 'STTE'}, curbufmeths.get_lines(0, 100, false))
+ eq({ '', 'ETTS', 'TTSE', 'STTE' }, curbufmeths.get_lines(0, 100, false))
end)
it('preserves global and not preserves local variables', function()
eq('', exec_capture('lua gvar = 42'))
@@ -83,26 +93,29 @@ describe(':lua command', function()
it('works with long strings', function()
local s = ('x'):rep(100500)
- eq('Vim(lua):E5107: Error loading lua [string ":lua"]:0: unfinished string near \'<eof>\'',
- pcall_err(command, ('lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"%s})'):format(s)))
- eq({''}, curbufmeths.get_lines(0, -1, false))
+ eq(
+ 'Vim(lua):E5107: Error loading lua [string ":lua"]:0: unfinished string near \'<eof>\'',
+ pcall_err(command, ('lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"%s})'):format(s))
+ )
+ eq({ '' }, curbufmeths.get_lines(0, -1, false))
eq('', exec_capture(('lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"%s"})'):format(s)))
- eq({'', s}, curbufmeths.get_lines(0, -1, false))
+ eq({ '', s }, curbufmeths.get_lines(0, -1, false))
end)
it('can show multiline error messages', function()
- local screen = Screen.new(40,10)
+ local screen = Screen.new(40, 10)
screen:attach()
screen:set_default_attr_ids({
- [1] = {bold = true, foreground = Screen.colors.Blue1},
- [2] = {bold = true, reverse = true},
- [3] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red},
- [4] = {bold = true, foreground = Screen.colors.SeaGreen4},
+ [1] = { bold = true, foreground = Screen.colors.Blue1 },
+ [2] = { bold = true, reverse = true },
+ [3] = { foreground = Screen.colors.Grey100, background = Screen.colors.Red },
+ [4] = { bold = true, foreground = Screen.colors.SeaGreen4 },
})
feed(':lua error("fail\\nmuch error\\nsuch details")<cr>')
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{2: }|
{3:E5108: Error executing lua [string ":lua}|
{3:"]:1: fail} |
@@ -113,22 +126,30 @@ describe(':lua command', function()
{3: [string ":lua"]:1: in main chunk}|
|
{4:Press ENTER or type command to continue}^ |
- ]]}
+ ]],
+ }
feed('<cr>')
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
^ |
{1:~ }|*8
|
- ]]}
- eq('E5108: Error executing lua [string ":lua"]:1: fail\nmuch error\nsuch details', remove_trace(eval('v:errmsg')))
+ ]],
+ }
+ eq(
+ 'E5108: Error executing lua [string ":lua"]:1: fail\nmuch error\nsuch details',
+ remove_trace(eval('v:errmsg'))
+ )
- local status, err = pcall(command,'lua error("some error\\nin a\\nAPI command")')
- local expected = 'Vim(lua):E5108: Error executing lua [string ":lua"]:1: some error\nin a\nAPI command'
+ local status, err = pcall(command, 'lua error("some error\\nin a\\nAPI command")')
+ local expected =
+ 'Vim(lua):E5108: Error executing lua [string ":lua"]:1: some error\nin a\nAPI command'
eq(false, status)
eq(expected, string.sub(remove_trace(err), -string.len(expected)))
feed(':messages<cr>')
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{2: }|
{3:E5108: Error executing lua [string ":lua}|
{3:"]:1: fail} |
@@ -139,17 +160,18 @@ describe(':lua command', function()
{3: [string ":lua"]:1: in main chunk}|
|
{4:Press ENTER or type command to continue}^ |
- ]]}
+ ]],
+ }
end)
it('prints result of =expr', function()
- exec_lua("x = 5")
- eq("5", exec_capture(':lua =x'))
- eq("5", exec_capture('=x'))
+ exec_lua('x = 5')
+ eq('5', exec_capture(':lua =x'))
+ eq('5', exec_capture('=x'))
exec_lua("function x() return 'hello' end")
eq('hello', exec_capture(':lua = x()'))
- exec_lua("x = {a = 1, b = 2}")
- eq("{\n a = 1,\n b = 2\n}", exec_capture(':lua =x'))
+ exec_lua('x = {a = 1, b = 2}')
+ eq('{\n a = 1,\n b = 2\n}', exec_capture(':lua =x'))
exec_lua([[function x(success)
if success then
return true, "Return value"
@@ -157,69 +179,82 @@ describe(':lua command', function()
return false, nil, "Error message"
end
end]])
- eq(dedent[[
+ eq(
+ dedent [[
true
Return value]],
- exec_capture(':lua =x(true)'))
- eq(dedent[[
+ exec_capture(':lua =x(true)')
+ )
+ eq(
+ dedent [[
false
nil
Error message]],
- exec_capture('=x(false)'))
+ exec_capture('=x(false)')
+ )
end)
end)
describe(':luado command', function()
it('works', function()
- curbufmeths.set_lines(0, 1, false, {"ABC", "def", "gHi"})
+ curbufmeths.set_lines(0, 1, false, { 'ABC', 'def', 'gHi' })
eq('', exec_capture('luado lines = (lines or {}) lines[#lines + 1] = {linenr, line}'))
- eq({'ABC', 'def', 'gHi'}, curbufmeths.get_lines(0, -1, false))
- eq({{1, 'ABC'}, {2, 'def'}, {3, 'gHi'}}, funcs.luaeval('lines'))
+ eq({ 'ABC', 'def', 'gHi' }, curbufmeths.get_lines(0, -1, false))
+ eq({ { 1, 'ABC' }, { 2, 'def' }, { 3, 'gHi' } }, funcs.luaeval('lines'))
-- Automatic transformation of numbers
eq('', exec_capture('luado return linenr'))
- eq({'1', '2', '3'}, curbufmeths.get_lines(0, -1, false))
+ eq({ '1', '2', '3' }, curbufmeths.get_lines(0, -1, false))
eq('', exec_capture('luado return ("<%02x>"):format(line:byte())'))
- eq({'<31>', '<32>', '<33>'}, curbufmeths.get_lines(0, -1, false))
+ eq({ '<31>', '<32>', '<33>' }, curbufmeths.get_lines(0, -1, false))
end)
it('stops processing lines when suddenly out of lines', function()
- curbufmeths.set_lines(0, 1, false, {"ABC", "def", "gHi"})
+ curbufmeths.set_lines(0, 1, false, { 'ABC', 'def', 'gHi' })
eq('', exec_capture('2,$luado runs = ((runs or 0) + 1) vim.api.nvim_command("%d")'))
- eq({''}, curbufmeths.get_lines(0, -1, false))
+ eq({ '' }, curbufmeths.get_lines(0, -1, false))
eq(1, funcs.luaeval('runs'))
end)
it('works correctly when changing lines out of range', function()
- curbufmeths.set_lines(0, 1, false, {"ABC", "def", "gHi"})
- eq('Vim(luado):E322: Line number out of range: 1 past the end',
- pcall_err(command, '2,$luado vim.api.nvim_command("%d") return linenr'))
- eq({''}, curbufmeths.get_lines(0, -1, false))
+ curbufmeths.set_lines(0, 1, false, { 'ABC', 'def', 'gHi' })
+ eq(
+ 'Vim(luado):E322: Line number out of range: 1 past the end',
+ pcall_err(command, '2,$luado vim.api.nvim_command("%d") return linenr')
+ )
+ eq({ '' }, curbufmeths.get_lines(0, -1, false))
end)
it('fails on errors', function()
- eq([[Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unexpected symbol near ')']],
- pcall_err(command, 'luado ()'))
- eq([[Vim(luado):E5111: Error calling lua: [string ":luado"]:0: attempt to perform arithmetic on global 'liness' (a nil value)]],
- pcall_err(command, 'luado return liness + 1'))
+ eq(
+ [[Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unexpected symbol near ')']],
+ pcall_err(command, 'luado ()')
+ )
+ eq(
+ [[Vim(luado):E5111: Error calling lua: [string ":luado"]:0: attempt to perform arithmetic on global 'liness' (a nil value)]],
+ pcall_err(command, 'luado return liness + 1')
+ )
end)
it('works with NULL errors', function()
- eq([=[Vim(luado):E5111: Error calling lua: [NULL]]=],
- exc_exec('luado error(nil)'))
+ eq([=[Vim(luado):E5111: Error calling lua: [NULL]]=], exc_exec('luado error(nil)'))
end)
it('fails in sandbox when needed', function()
- curbufmeths.set_lines(0, 1, false, {"ABC", "def", "gHi"})
- eq('Vim(luado):E48: Not allowed in sandbox: sandbox luado runs = (runs or 0) + 1',
- pcall_err(command, 'sandbox luado runs = (runs or 0) + 1'))
+ curbufmeths.set_lines(0, 1, false, { 'ABC', 'def', 'gHi' })
+ eq(
+ 'Vim(luado):E48: Not allowed in sandbox: sandbox luado runs = (runs or 0) + 1',
+ pcall_err(command, 'sandbox luado runs = (runs or 0) + 1')
+ )
eq(NIL, funcs.luaeval('runs'))
end)
it('works with long strings', function()
local s = ('x'):rep(100500)
- eq('Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unfinished string near \'<eof>\'',
- pcall_err(command, ('luado return "%s'):format(s)))
- eq({''}, curbufmeths.get_lines(0, -1, false))
+ eq(
+ 'Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unfinished string near \'<eof>\'',
+ pcall_err(command, ('luado return "%s'):format(s))
+ )
+ eq({ '' }, curbufmeths.get_lines(0, -1, false))
eq('', exec_capture(('luado return "%s"'):format(s)))
- eq({s}, curbufmeths.get_lines(0, -1, false))
+ eq({ s }, curbufmeths.get_lines(0, -1, false))
end)
end)
@@ -231,26 +266,39 @@ describe(':luafile', function()
end)
it('works', function()
- write_file(fname, [[
+ write_file(
+ fname,
+ [[
vim.api.nvim_buf_set_lines(1, 1, 2, false, {"ETTS"})
vim.api.nvim_buf_set_lines(1, 2, 3, false, {"TTSE"})
vim.api.nvim_buf_set_lines(1, 3, 4, false, {"STTE"})
- ]])
+ ]]
+ )
eq('', exec_capture('luafile ' .. fname))
- eq({'', 'ETTS', 'TTSE', 'STTE'}, curbufmeths.get_lines(0, 100, false))
+ eq({ '', 'ETTS', 'TTSE', 'STTE' }, curbufmeths.get_lines(0, 100, false))
end)
it('correctly errors out', function()
write_file(fname, '()')
- eq(("Vim(luafile):E5112: Error while creating lua chunk: %s:1: unexpected symbol near ')'"):format(fname),
- exc_exec('luafile ' .. fname))
+ eq(
+ ("Vim(luafile):E5112: Error while creating lua chunk: %s:1: unexpected symbol near ')'"):format(
+ fname
+ ),
+ exc_exec('luafile ' .. fname)
+ )
write_file(fname, 'vimm.api.nvim_buf_set_lines(1, 1, 2, false, {"ETTS"})')
- eq(("Vim(luafile):E5113: Error while calling lua chunk: %s:1: attempt to index global 'vimm' (a nil value)"):format(fname),
- remove_trace(exc_exec('luafile ' .. fname)))
+ eq(
+ ("Vim(luafile):E5113: Error while calling lua chunk: %s:1: attempt to index global 'vimm' (a nil value)"):format(
+ fname
+ ),
+ remove_trace(exc_exec('luafile ' .. fname))
+ )
end)
it('works with NULL errors', function()
write_file(fname, 'error(nil)')
- eq([=[Vim(luafile):E5113: Error while calling lua chunk: [NULL]]=],
- exc_exec('luafile ' .. fname))
+ eq(
+ [=[Vim(luafile):E5113: Error while calling lua chunk: [NULL]]=],
+ exc_exec('luafile ' .. fname)
+ )
end)
end)