diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2022-03-06 12:35:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-06 12:35:14 -0700 |
commit | 92349b1db0039aac3a43089d0aade2437164505c (patch) | |
tree | 8917d542e9fb66f95118d472997419c8ed0a2f1c /test/functional/api/autocmd_spec.lua | |
parent | 3800615da9eaf9e8b26d9040c882c74084d688e4 (diff) | |
download | rneovim-92349b1db0039aac3a43089d0aade2437164505c.tar.gz rneovim-92349b1db0039aac3a43089d0aade2437164505c.tar.bz2 rneovim-92349b1db0039aac3a43089d0aade2437164505c.zip |
feat(api): add 'buffer' argument to nvim_get_autocmds (#17594)
This enables retrieving autocommands defined in the given buffers. Under
the hood this simply translates the buffer numbers into '<buffer=%d>'
patterns.
Diffstat (limited to 'test/functional/api/autocmd_spec.lua')
-rw-r--r-- | test/functional/api/autocmd_spec.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua index e50e812b4b..e8dc284925 100644 --- a/test/functional/api/autocmd_spec.lua +++ b/test/functional/api/autocmd_spec.lua @@ -8,6 +8,7 @@ local exec_lua = helpers.exec_lua local matches = helpers.matches local meths = helpers.meths local source = helpers.source +local pcall_err = helpers.pcall_err before_each(clear) @@ -225,6 +226,61 @@ describe('autocmd api', function() local aus = meths.get_autocmds { event = "InsertEnter" } eq({ { buflocal = false, command = ':echo "1"', event = "InsertEnter", once = false, pattern = "*" } }, aus) end) + + it('should work with buffer numbers', function() + command [[new]] + command [[au! InsertEnter]] + command [[au InsertEnter <buffer=1> :echo "1"]] + command [[au InsertEnter <buffer=2> :echo "2"]] + + local aus = meths.get_autocmds { event = "InsertEnter", buffer = 0 } + eq({{ + buffer = 2, + buflocal = true, + command = ':echo "2"', + event = 'InsertEnter', + once = false, + pattern = '<buffer=2>', + }}, aus) + + aus = meths.get_autocmds { event = "InsertEnter", buffer = 1 } + eq({{ + buffer = 1, + buflocal = true, + command = ':echo "1"', + event = "InsertEnter", + once = false, + pattern = "<buffer=1>", + }}, aus) + + aus = meths.get_autocmds { event = "InsertEnter", buffer = { 1, 2 } } + eq({{ + buffer = 1, + buflocal = true, + command = ':echo "1"', + event = "InsertEnter", + once = false, + pattern = "<buffer=1>", + }, { + buffer = 2, + buflocal = true, + command = ':echo "2"', + event = "InsertEnter", + once = false, + pattern = "<buffer=2>", + }}, aus) + + eq("Invalid value for 'buffer': must be an integer or array of integers", pcall_err(meths.get_autocmds, { event = "InsertEnter", buffer = "foo" })) + eq("Invalid value for 'buffer': must be an integer", pcall_err(meths.get_autocmds, { event = "InsertEnter", buffer = { "foo", 42 } })) + eq("Invalid buffer id: 42", pcall_err(meths.get_autocmds, { event = "InsertEnter", buffer = { 42 } })) + + local bufs = {} + for _ = 1, 257 do + table.insert(bufs, meths.create_buf(true, false)) + end + + eq("Too many buffers. Please limit yourself to 256 or fewer", pcall_err(meths.get_autocmds, { event = "InsertEnter", buffer = bufs })) + end) end) describe('groups', function() |