aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-12-01 13:56:04 +0800
committerGitHub <noreply@github.com>2023-12-01 13:56:04 +0800
commit130cb4815a5c6625a938b1e93a7d60d7a38ad8dd (patch)
tree8382bec57ea18aefa6a3731b4535d7ff4e96a206 /test/functional/api/vim_spec.lua
parent0bbe8e7fc257bd06a857bfc762c2b1e8e84463e1 (diff)
downloadrneovim-130cb4815a5c6625a938b1e93a7d60d7a38ad8dd.tar.gz
rneovim-130cb4815a5c6625a938b1e93a7d60d7a38ad8dd.tar.bz2
rneovim-130cb4815a5c6625a938b1e93a7d60d7a38ad8dd.zip
fix(api): use a conditional stack for nvim_cmd (#26341)
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r--test/functional/api/vim_spec.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 8bbadda9b0..7287666190 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -4547,5 +4547,24 @@ describe('API', function()
ok(luv.now() - start <= 300)
end)
end)
+ it(':call with unknown function does not crash #26289', function()
+ eq('Vim:E117: Unknown function: UnknownFunc',
+ pcall_err(meths.cmd, {cmd = 'call', args = {'UnknownFunc()'}}, {}))
+ end)
+ it(':throw does not crash #24556', function()
+ eq('42', pcall_err(meths.cmd, {cmd = 'throw', args = {'42'}}, {}))
+ end)
+ it('can use :return #24556', function()
+ exec([[
+ func Foo()
+ let g:pos = 'before'
+ call nvim_cmd({'cmd': 'return', 'args': ['[1, 2, 3]']}, {})
+ let g:pos = 'after'
+ endfunc
+ let g:result = Foo()
+ ]])
+ eq('before', meths.get_var('pos'))
+ eq({1, 2, 3}, meths.get_var('result'))
+ end)
end)
end)