diff options
author | Gregory Anders <greg@gpanders.com> | 2022-03-19 19:16:19 -0600 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2022-04-08 15:12:54 +0200 |
commit | 30bc02c6364f384e437a6f53b057522d585492fc (patch) | |
tree | 39cbdcf894f902a18664129ed444d01479909764 /test/functional/api/autocmd_spec.lua | |
parent | dc9e436986bec15b027c2a8d78782f514c046a8b (diff) | |
download | rneovim-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.lua | 48 |
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() |