aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index c7490756d4..a262d239e8 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -3543,6 +3543,18 @@ describe('lua stdlib', function()
]])
)
end)
+
+ it('can return values by reference', function()
+ eq(
+ { 4, 7 },
+ exec_lua [[
+ local val = {4, 10}
+ local ref = vim.api.nvim_buf_call(0, function() return val end)
+ ref[2] = 7
+ return val
+ ]]
+ )
+ end)
end)
describe('vim.api.nvim_win_call', function()
@@ -3640,6 +3652,18 @@ describe('lua stdlib', function()
|
]]
end)
+
+ it('can return values by reference', function()
+ eq(
+ { 7, 10 },
+ exec_lua [[
+ local val = {4, 10}
+ local ref = vim.api.nvim_win_call(0, function() return val end)
+ ref[1] = 7
+ return val
+ ]]
+ )
+ end)
end)
describe('vim.iconv', function()