aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2020-09-09 10:37:42 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2020-09-13 09:11:38 +0200
commitead2fcf4ee32a1d10fa35fab1a2231991190e07a (patch)
tree2971a5f21aca244c8f9283925e3b743d99d8421d /test/functional/lua/vim_spec.lua
parent542022aae4ed8d1c0352042858f06da1ee077bf8 (diff)
downloadrneovim-ead2fcf4ee32a1d10fa35fab1a2231991190e07a.tar.gz
rneovim-ead2fcf4ee32a1d10fa35fab1a2231991190e07a.tar.bz2
rneovim-ead2fcf4ee32a1d10fa35fab1a2231991190e07a.zip
api: add nvim_buf_call to call function with curbuf changed to buffer
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index a9e8ca9686..61447f1152 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -1330,4 +1330,29 @@ describe('lua stdlib', function()
eq(false, pcall_result)
end)
end)
+
+ describe('vim.api.nvim_buf_call', function()
+ it('can access buf options', function()
+ local buf1 = meths.get_current_buf()
+ local buf2 = exec_lua [[
+ buf2 = vim.api.nvim_create_buf(false, true)
+ return buf2
+ ]]
+
+ eq(false, meths.buf_get_option(buf1, 'autoindent'))
+ eq(false, meths.buf_get_option(buf2, 'autoindent'))
+
+ local val = exec_lua [[
+ return vim.api.nvim_buf_call(buf2, function()
+ vim.cmd "set autoindent"
+ return vim.api.nvim_get_current_buf()
+ end)
+ ]]
+
+ eq(false, meths.buf_get_option(buf1, 'autoindent'))
+ eq(true, meths.buf_get_option(buf2, 'autoindent'))
+ eq(buf1, meths.get_current_buf())
+ eq(buf2, val)
+ end)
+ end)
end)