aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/autocmd_spec.lua
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2022-03-19 19:16:19 -0600
committerbfredl <bjorn.linse@gmail.com>2022-04-08 15:12:54 +0200
commit30bc02c6364f384e437a6f53b057522d585492fc (patch)
tree39cbdcf894f902a18664129ed444d01479909764 /test/functional/api/autocmd_spec.lua
parentdc9e436986bec15b027c2a8d78782f514c046a8b (diff)
downloadrneovim-30bc02c6364f384e437a6f53b057522d585492fc.tar.gz
rneovim-30bc02c6364f384e437a6f53b057522d585492fc.tar.bz2
rneovim-30bc02c6364f384e437a6f53b057522d585492fc.zip
feat(api)!: pass args table to autocommand callbacks
Diffstat (limited to 'test/functional/api/autocmd_spec.lua')
-rw-r--r--test/functional/api/autocmd_spec.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua
index b4a9a4f01f..377b4fecf0 100644
--- a/test/functional/api/autocmd_spec.lua
+++ b/test/functional/api/autocmd_spec.lua
@@ -182,6 +182,54 @@ describe('autocmd api', function()
meths.exec_autocmds("User", {pattern = "Test"})
eq({}, meths.get_autocmds({event = "User", pattern = "Test"}))
end)
+
+ it('receives an args table', function()
+ local res = exec_lua [[
+ local group_id = vim.api.nvim_create_augroup("TestGroup", {})
+ local autocmd_id = vim.api.nvim_create_autocmd("User", {
+ group = "TestGroup",
+ pattern = "Te*",
+ callback = function(args)
+ vim.g.autocmd_args = args
+ end,
+ })
+
+ return {group_id, autocmd_id}
+ ]]
+
+ meths.exec_autocmds("User", {pattern = "Test pattern"})
+ eq({
+ id = res[2],
+ group = res[1],
+ event = "User",
+ match = "Test pattern",
+ file = "Test pattern",
+ buf = 1,
+ }, meths.get_var("autocmd_args"))
+
+ -- Test without a group
+ res = exec_lua [[
+ local autocmd_id = vim.api.nvim_create_autocmd("User", {
+ pattern = "*",
+ callback = function(args)
+ vim.g.autocmd_args = args
+ end,
+ })
+
+ return {autocmd_id}
+ ]]
+
+ meths.exec_autocmds("User", {pattern = "some_pat"})
+ eq({
+ id = res[1],
+ group = nil,
+ event = "User",
+ match = "some_pat",
+ file = "some_pat",
+ buf = 1,
+ }, meths.get_var("autocmd_args"))
+
+ end)
end)
describe('nvim_get_autocmds', function()