diff options
author | Lewis Russell <lewis6991@gmail.com> | 2024-01-12 17:59:57 +0000 |
---|---|---|
committer | Lewis Russell <lewis6991@gmail.com> | 2024-01-12 18:59:14 +0000 |
commit | 795f896a5772d5e0795f86642bdf90c82efac45c (patch) | |
tree | 308f04fbee18d2ec3f00c12a8bec96b84d8907f0 /test/functional/api/autocmd_spec.lua | |
parent | 4f81f506f96f8b5bfcf00e952ceb492d3ce9dc6e (diff) | |
download | rneovim-795f896a5772d5e0795f86642bdf90c82efac45c.tar.gz rneovim-795f896a5772d5e0795f86642bdf90c82efac45c.tar.bz2 rneovim-795f896a5772d5e0795f86642bdf90c82efac45c.zip |
test: rename (meths, funcs) -> (api, fn)
Diffstat (limited to 'test/functional/api/autocmd_spec.lua')
-rw-r--r-- | test/functional/api/autocmd_spec.lua | 431 |
1 files changed, 215 insertions, 216 deletions
diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua index 47cb8bfd54..e89abf6c64 100644 --- a/test/functional/api/autocmd_spec.lua +++ b/test/functional/api/autocmd_spec.lua @@ -6,7 +6,7 @@ local eq = helpers.eq local neq = helpers.neq local exec_lua = helpers.exec_lua local matches = helpers.matches -local meths = helpers.meths +local api = helpers.api local source = helpers.source local pcall_err = helpers.pcall_err @@ -17,7 +17,7 @@ describe('autocmd api', function() it('validation', function() eq( "Cannot use both 'callback' and 'command'", - pcall_err(meths.nvim_create_autocmd, 'BufReadPost', { + pcall_err(api.nvim_create_autocmd, 'BufReadPost', { pattern = '*.py,*.pyi', command = "echo 'Should Have Errored", callback = 'NotAllowed', @@ -25,7 +25,7 @@ describe('autocmd api', function() ) eq( "Cannot use both 'pattern' and 'buffer' for the same autocmd", - pcall_err(meths.nvim_create_autocmd, 'FileType', { + pcall_err(api.nvim_create_autocmd, 'FileType', { command = 'let g:called = g:called + 1', buffer = 0, pattern = '*.py', @@ -33,48 +33,48 @@ describe('autocmd api', function() ) eq( "Required: 'event'", - pcall_err(meths.nvim_create_autocmd, {}, { + pcall_err(api.nvim_create_autocmd, {}, { command = 'ls', }) ) - eq("Required: 'command' or 'callback'", pcall_err(meths.nvim_create_autocmd, 'FileType', {})) + eq("Required: 'command' or 'callback'", pcall_err(api.nvim_create_autocmd, 'FileType', {})) eq( "Invalid 'desc': expected String, got Integer", - pcall_err(meths.nvim_create_autocmd, 'FileType', { + pcall_err(api.nvim_create_autocmd, 'FileType', { command = 'ls', desc = 42, }) ) eq( "Invalid 'callback': expected Lua function or Vim function name, got Integer", - pcall_err(meths.nvim_create_autocmd, 'FileType', { + pcall_err(api.nvim_create_autocmd, 'FileType', { callback = 0, }) ) eq( "Invalid 'event' item: expected String, got Array", - pcall_err(meths.nvim_create_autocmd, { 'FileType', {} }, {}) + pcall_err(api.nvim_create_autocmd, { 'FileType', {} }, {}) ) eq( "Invalid 'group': 0", - pcall_err(meths.nvim_create_autocmd, 'FileType', { + pcall_err(api.nvim_create_autocmd, 'FileType', { group = 0, command = 'ls', }) ) - eq("Invalid 'event': 'foo'", pcall_err(meths.nvim_create_autocmd, 'foo', { command = '' })) + eq("Invalid 'event': 'foo'", pcall_err(api.nvim_create_autocmd, 'foo', { command = '' })) eq( "Invalid 'event': 'VimEnter '", - pcall_err(meths.nvim_create_autocmd, 'VimEnter ', { command = '' }) + pcall_err(api.nvim_create_autocmd, 'VimEnter ', { command = '' }) ) eq( "Invalid 'event': 'VimEnter foo'", - pcall_err(meths.nvim_create_autocmd, 'VimEnter foo', { command = '' }) + pcall_err(api.nvim_create_autocmd, 'VimEnter foo', { command = '' }) ) eq( "Invalid 'event': 'BufAdd,BufDelete'", - pcall_err(meths.nvim_create_autocmd, 'BufAdd,BufDelete', { command = '' }) + pcall_err(api.nvim_create_autocmd, 'BufAdd,BufDelete', { command = '' }) ) end) @@ -102,25 +102,25 @@ describe('autocmd api', function() end) it('allows passing buffer by key', function() - meths.nvim_set_var('called', 0) + api.nvim_set_var('called', 0) - meths.nvim_create_autocmd('FileType', { + api.nvim_create_autocmd('FileType', { command = 'let g:called = g:called + 1', buffer = 0, }) command 'set filetype=txt' - eq(1, meths.nvim_get_var('called')) + eq(1, api.nvim_get_var('called')) -- switch to a new buffer command 'new' command 'set filetype=python' - eq(1, meths.nvim_get_var('called')) + eq(1, api.nvim_get_var('called')) end) it('does not allow passing invalid buffers', function() - local ok, msg = pcall(meths.nvim_create_autocmd, 'FileType', { + local ok, msg = pcall(api.nvim_create_autocmd, 'FileType', { command = 'let g:called = g:called + 1', buffer = -1, }) @@ -145,7 +145,7 @@ describe('autocmd api', function() end) it('allow passing pattern and <buffer> in same pattern', function() - local ok = pcall(meths.nvim_create_autocmd, 'BufReadPost', { + local ok = pcall(api.nvim_create_autocmd, 'BufReadPost', { pattern = '*.py,<buffer>', command = "echo 'Should Not Error'", }) @@ -154,42 +154,42 @@ describe('autocmd api', function() end) it('should handle multiple values as comma separated list', function() - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = '*.py,*.pyi', command = "echo 'Should Not Have Errored'", }) -- We should have one autocmd for *.py and one for *.pyi - eq(2, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(2, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) it('should handle multiple values as array', function() - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = { '*.py', '*.pyi' }, command = "echo 'Should Not Have Errored'", }) -- We should have one autocmd for *.py and one for *.pyi - eq(2, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(2, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) describe('desc', function() it('can add description to one autocmd', function() local cmd = "echo 'Should Not Have Errored'" local desc = 'Can show description' - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = '*.py', command = cmd, desc = desc, }) - eq(desc, meths.nvim_get_autocmds { event = 'BufReadPost' }[1].desc) - eq(cmd, meths.nvim_get_autocmds { event = 'BufReadPost' }[1].command) + eq(desc, api.nvim_get_autocmds { event = 'BufReadPost' }[1].desc) + eq(cmd, api.nvim_get_autocmds { event = 'BufReadPost' }[1].command) end) it('can add description to one autocmd that uses a callback', function() local desc = 'Can show description' - meths.nvim_set_var('desc', desc) + api.nvim_set_var('desc', desc) local result = exec_lua([[ local callback = function() print 'Should Not Have Errored' end @@ -218,17 +218,17 @@ describe('autocmd api', function() }) ]]) - eq(nil, meths.nvim_get_autocmds({ event = 'BufReadPost' })[1].desc) + eq(nil, api.nvim_get_autocmds({ event = 'BufReadPost' })[1].desc) end) it('can add description to multiple autocmd', function() - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = { '*.py', '*.pyi' }, command = "echo 'Should Not Have Errored'", desc = 'Can show description', }) - local aus = meths.nvim_get_autocmds { event = 'BufReadPost' } + local aus = api.nvim_get_autocmds { event = 'BufReadPost' } eq(2, #aus) eq('Can show description', aus[1].desc) eq('Can show description', aus[2].desc) @@ -237,19 +237,19 @@ describe('autocmd api', function() pending('script and verbose settings', function() it('marks API client', function() - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = '*.py', command = "echo 'Should Not Have Errored'", desc = 'Can show description', }) - local aus = meths.nvim_get_autocmds { event = 'BufReadPost' } + local aus = api.nvim_get_autocmds { event = 'BufReadPost' } eq(1, #aus, aus) end) end) it('removes an autocommand if the callback returns true', function() - meths.nvim_set_var('some_condition', false) + api.nvim_set_var('some_condition', false) exec_lua [[ vim.api.nvim_create_autocmd("User", { @@ -261,21 +261,21 @@ describe('autocmd api', function() }) ]] - meths.nvim_exec_autocmds('User', { pattern = 'Test' }) + api.nvim_exec_autocmds('User', { pattern = 'Test' }) - local aus = meths.nvim_get_autocmds({ event = 'User', pattern = 'Test' }) + local aus = api.nvim_get_autocmds({ event = 'User', pattern = 'Test' }) local first = aus[1] eq(true, first.id > 0) - meths.nvim_set_var('some_condition', true) - meths.nvim_exec_autocmds('User', { pattern = 'Test' }) - eq({}, meths.nvim_get_autocmds({ event = 'User', pattern = 'Test' })) + api.nvim_set_var('some_condition', true) + api.nvim_exec_autocmds('User', { pattern = 'Test' }) + eq({}, api.nvim_get_autocmds({ event = 'User', pattern = 'Test' })) end) it('receives an args table', function() - local group_id = meths.nvim_create_augroup('TestGroup', {}) + local group_id = api.nvim_create_augroup('TestGroup', {}) -- Having an existing autocmd calling expand("<afile>") shouldn't change args #18964 - meths.nvim_create_autocmd('User', { + api.nvim_create_autocmd('User', { group = 'TestGroup', pattern = 'Te*', command = 'call expand("<afile>")', @@ -291,7 +291,7 @@ describe('autocmd api', function() }) ]] - meths.nvim_exec_autocmds('User', { pattern = 'Test pattern' }) + api.nvim_exec_autocmds('User', { pattern = 'Test pattern' }) eq({ id = autocmd_id, group = group_id, @@ -299,7 +299,7 @@ describe('autocmd api', function() match = 'Test pattern', file = 'Test pattern', buf = 1, - }, meths.nvim_get_var('autocmd_args')) + }, api.nvim_get_var('autocmd_args')) -- Test without a group autocmd_id = exec_lua [[ @@ -311,7 +311,7 @@ describe('autocmd api', function() }) ]] - meths.nvim_exec_autocmds('User', { pattern = 'some_pat' }) + api.nvim_exec_autocmds('User', { pattern = 'some_pat' }) eq({ id = autocmd_id, group = nil, @@ -319,7 +319,7 @@ describe('autocmd api', function() match = 'some_pat', file = 'some_pat', buf = 1, - }, meths.nvim_get_var('autocmd_args')) + }, api.nvim_get_var('autocmd_args')) end) it('can receive arbitrary data', function() @@ -361,43 +361,43 @@ describe('autocmd api', function() it('validation', function() eq( "Invalid 'group': 9997999", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { group = 9997999, }) ) eq( "Invalid 'group': 'bogus'", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { group = 'bogus', }) ) eq( "Invalid 'group': 0", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { group = 0, }) ) eq( "Invalid 'group': expected String or Integer, got Array", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { group = {}, }) ) eq( "Invalid 'buffer': expected Integer or Array, got Boolean", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { buffer = true, }) ) eq( "Invalid 'event': expected String or Array", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { event = true, }) ) eq( "Invalid 'pattern': expected String or Array, got Boolean", - pcall_err(meths.nvim_get_autocmds, { + pcall_err(api.nvim_get_autocmds, { pattern = true, }) ) @@ -408,7 +408,7 @@ describe('autocmd api', function() command [[au! InsertEnter]] command [[au InsertEnter * :echo "1"]] - local aus = meths.nvim_get_autocmds { event = 'InsertEnter' } + local aus = api.nvim_get_autocmds { event = 'InsertEnter' } eq(1, #aus) end) @@ -417,7 +417,7 @@ describe('autocmd api', function() command [[au InsertEnter * :echo "1"]] command [[au InsertEnter * :echo "2"]] - local aus = meths.nvim_get_autocmds { event = 'InsertEnter' } + local aus = api.nvim_get_autocmds { event = 'InsertEnter' } eq(2, #aus) end) @@ -426,8 +426,8 @@ describe('autocmd api', function() command [[au InsertEnter * :echo "1"]] command [[au InsertEnter * :echo "2"]] - local string_aus = meths.nvim_get_autocmds { event = 'InsertEnter' } - local array_aus = meths.nvim_get_autocmds { event = { 'InsertEnter' } } + local string_aus = api.nvim_get_autocmds { event = 'InsertEnter' } + local array_aus = api.nvim_get_autocmds { event = { 'InsertEnter' } } eq(string_aus, array_aus) end) @@ -437,7 +437,7 @@ describe('autocmd api', function() command [[au InsertEnter * :echo "1"]] command [[au InsertEnter * :echo "2"]] - local aus = meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } + local aus = api.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } eq(2, #aus) end) @@ -451,7 +451,7 @@ describe('autocmd api', function() \ }) ]] - local aus = meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } + local aus = api.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } local first = aus[1] eq(first.id, nil) @@ -459,8 +459,8 @@ describe('autocmd api', function() local second = aus[2] neq(second.id, nil) - meths.nvim_del_autocmd(second.id) - local new_aus = meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } + api.nvim_del_autocmd(second.id) + local new_aus = api.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } eq(1, #new_aus) eq(first, new_aus[1]) end) @@ -469,7 +469,7 @@ describe('autocmd api', function() command [[au! InsertEnter]] command [[au InsertEnter * :echo "1"]] - local aus = meths.nvim_get_autocmds { event = 'InsertEnter' } + local aus = api.nvim_get_autocmds { event = 'InsertEnter' } eq({ { buflocal = false, @@ -487,7 +487,7 @@ describe('autocmd api', function() command [[au InsertEnter <buffer=1> :echo "1"]] command [[au InsertEnter <buffer=2> :echo "2"]] - local aus = meths.nvim_get_autocmds { event = 'InsertEnter', buffer = 0 } + local aus = api.nvim_get_autocmds { event = 'InsertEnter', buffer = 0 } eq({ { buffer = 2, @@ -499,7 +499,7 @@ describe('autocmd api', function() }, }, aus) - aus = meths.nvim_get_autocmds { event = 'InsertEnter', buffer = 1 } + aus = api.nvim_get_autocmds { event = 'InsertEnter', buffer = 1 } eq({ { buffer = 1, @@ -511,7 +511,7 @@ describe('autocmd api', function() }, }, aus) - aus = meths.nvim_get_autocmds { event = 'InsertEnter', buffer = { 1, 2 } } + aus = api.nvim_get_autocmds { event = 'InsertEnter', buffer = { 1, 2 } } eq({ { buffer = 1, @@ -533,50 +533,50 @@ describe('autocmd api', function() eq( "Invalid 'buffer': expected Integer or Array, got String", - pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = 'foo' }) + pcall_err(api.nvim_get_autocmds, { event = 'InsertEnter', buffer = 'foo' }) ) eq( "Invalid 'buffer': expected Integer, got String", - pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 'foo', 42 } }) + pcall_err(api.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 'foo', 42 } }) ) eq( 'Invalid buffer id: 42', - pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 42 } }) + pcall_err(api.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 42 } }) ) local bufs = {} for _ = 1, 257 do - table.insert(bufs, meths.nvim_create_buf(true, false)) + table.insert(bufs, api.nvim_create_buf(true, false)) end eq( 'Too many buffers (maximum of 256)', - pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = bufs }) + pcall_err(api.nvim_get_autocmds, { event = 'InsertEnter', buffer = bufs }) ) end) it('returns autocmds when group is specified by id', function() - local auid = meths.nvim_create_augroup('nvim_test_augroup', { clear = true }) - meths.nvim_create_autocmd('FileType', { group = auid, command = 'echo "1"' }) - meths.nvim_create_autocmd('FileType', { group = auid, command = 'echo "2"' }) + local auid = api.nvim_create_augroup('nvim_test_augroup', { clear = true }) + api.nvim_create_autocmd('FileType', { group = auid, command = 'echo "1"' }) + api.nvim_create_autocmd('FileType', { group = auid, command = 'echo "2"' }) - local aus = meths.nvim_get_autocmds { group = auid } + local aus = api.nvim_get_autocmds { group = auid } eq(2, #aus) - local aus2 = meths.nvim_get_autocmds { group = auid, event = 'InsertEnter' } + local aus2 = api.nvim_get_autocmds { group = auid, event = 'InsertEnter' } eq(0, #aus2) end) it('returns autocmds when group is specified by name', function() local auname = 'nvim_test_augroup' - meths.nvim_create_augroup(auname, { clear = true }) - meths.nvim_create_autocmd('FileType', { group = auname, command = 'echo "1"' }) - meths.nvim_create_autocmd('FileType', { group = auname, command = 'echo "2"' }) + api.nvim_create_augroup(auname, { clear = true }) + api.nvim_create_autocmd('FileType', { group = auname, command = 'echo "1"' }) + api.nvim_create_autocmd('FileType', { group = auname, command = 'echo "2"' }) - local aus = meths.nvim_get_autocmds { group = auname } + local aus = api.nvim_get_autocmds { group = auname } eq(2, #aus) - local aus2 = meths.nvim_get_autocmds { group = auname, event = 'InsertEnter' } + local aus2 = api.nvim_get_autocmds { group = auname, event = 'InsertEnter' } eq(0, #aus2) end) @@ -609,7 +609,7 @@ describe('autocmd api', function() it('can retrieve a callback from an autocmd', function() local content = 'I Am A Callback' - meths.nvim_set_var('content', content) + api.nvim_set_var('content', content) local result = exec_lua([[ local cb = function() return vim.g.content end @@ -671,7 +671,7 @@ describe('autocmd api', function() end) it('returns all groups if no group is specified', function() - local aus = meths.nvim_get_autocmds { event = 'InsertEnter' } + local aus = api.nvim_get_autocmds { event = 'InsertEnter' } if #aus ~= 4 then eq({}, aus) end @@ -680,7 +680,7 @@ describe('autocmd api', function() end) it('returns only the group specified', function() - local aus = meths.nvim_get_autocmds { + local aus = api.nvim_get_autocmds { event = 'InsertEnter', group = 'GroupOne', } @@ -691,7 +691,7 @@ describe('autocmd api', function() end) it('returns only the group specified, multiple values', function() - local aus = meths.nvim_get_autocmds { + local aus = api.nvim_get_autocmds { event = 'InsertEnter', group = 'GroupTwo', } @@ -706,7 +706,7 @@ describe('autocmd api', function() describe('groups: 2', function() it('raises error for undefined augroup name', function() - local success, code = unpack(meths.nvim_exec_lua( + local success, code = unpack(api.nvim_exec_lua( [[ return {pcall(function() vim.api.nvim_create_autocmd("FileType", { @@ -724,7 +724,7 @@ describe('autocmd api', function() end) it('raises error for undefined augroup id', function() - local success, code = unpack(meths.nvim_exec_lua( + local success, code = unpack(api.nvim_exec_lua( [[ return {pcall(function() -- Make sure the augroup is deleted @@ -745,7 +745,7 @@ describe('autocmd api', function() end) it('raises error for invalid group type', function() - local success, code = unpack(meths.nvim_exec_lua( + local success, code = unpack(api.nvim_exec_lua( [[ return {pcall(function() vim.api.nvim_create_autocmd("FileType", { @@ -763,7 +763,7 @@ describe('autocmd api', function() end) it('raises error for invalid pattern array', function() - local success, code = unpack(meths.nvim_exec_lua( + local success, code = unpack(api.nvim_exec_lua( [[ return {pcall(function() vim.api.nvim_create_autocmd("FileType", { @@ -792,7 +792,7 @@ describe('autocmd api', function() end) it('returns for literal match', function() - local aus = meths.nvim_get_autocmds { + local aus = api.nvim_get_autocmds { event = 'InsertEnter', pattern = '*', } @@ -803,7 +803,7 @@ describe('autocmd api', function() it('returns for multiple matches', function() -- vim.api.nvim_get_autocmds - local aus = meths.nvim_get_autocmds { + local aus = api.nvim_get_autocmds { event = 'InsertEnter', pattern = { '*.one', '*.two' }, } @@ -815,17 +815,17 @@ describe('autocmd api', function() end) it('should work for buffer autocmds', function() - local normalized_aus = meths.nvim_get_autocmds { + local normalized_aus = api.nvim_get_autocmds { event = 'InsertEnter', pattern = '<buffer=1>', } - local raw_aus = meths.nvim_get_autocmds { + local raw_aus = api.nvim_get_autocmds { event = 'InsertEnter', pattern = '<buffer>', } - local zero_aus = meths.nvim_get_autocmds { + local zero_aus = api.nvim_get_autocmds { event = 'InsertEnter', pattern = '<buffer=0>', } @@ -841,110 +841,110 @@ describe('autocmd api', function() it('validation', function() eq( "Invalid 'group': 9997999", - pcall_err(meths.nvim_exec_autocmds, 'FileType', { + pcall_err(api.nvim_exec_autocmds, 'FileType', { group = 9997999, }) ) eq( "Invalid 'group': 'bogus'", - pcall_err(meths.nvim_exec_autocmds, 'FileType', { + pcall_err(api.nvim_exec_autocmds, 'FileType', { group = 'bogus', }) ) eq( "Invalid 'group': expected String or Integer, got Array", - pcall_err(meths.nvim_exec_autocmds, 'FileType', { + pcall_err(api.nvim_exec_autocmds, 'FileType', { group = {}, }) ) eq( "Invalid 'group': 0", - pcall_err(meths.nvim_exec_autocmds, 'FileType', { + pcall_err(api.nvim_exec_autocmds, 'FileType', { group = 0, }) ) eq( "Invalid 'buffer': expected Buffer, got Array", - pcall_err(meths.nvim_exec_autocmds, 'FileType', { + pcall_err(api.nvim_exec_autocmds, 'FileType', { buffer = {}, }) ) eq( "Invalid 'event' item: expected String, got Array", - pcall_err(meths.nvim_exec_autocmds, { 'FileType', {} }, {}) + pcall_err(api.nvim_exec_autocmds, { 'FileType', {} }, {}) ) end) it('can trigger builtin autocmds', function() - meths.nvim_set_var('autocmd_executed', false) + api.nvim_set_var('autocmd_executed', false) - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = '*', command = 'let g:autocmd_executed = v:true', }) - eq(false, meths.nvim_get_var('autocmd_executed')) - meths.nvim_exec_autocmds('BufReadPost', {}) - eq(true, meths.nvim_get_var('autocmd_executed')) + eq(false, api.nvim_get_var('autocmd_executed')) + api.nvim_exec_autocmds('BufReadPost', {}) + eq(true, api.nvim_get_var('autocmd_executed')) end) it('can trigger multiple patterns', function() - meths.nvim_set_var('autocmd_executed', 0) + api.nvim_set_var('autocmd_executed', 0) - meths.nvim_create_autocmd('BufReadPost', { + api.nvim_create_autocmd('BufReadPost', { pattern = '*', command = 'let g:autocmd_executed += 1', }) - meths.nvim_exec_autocmds('BufReadPost', { pattern = { '*.lua', '*.vim' } }) - eq(2, meths.nvim_get_var('autocmd_executed')) + api.nvim_exec_autocmds('BufReadPost', { pattern = { '*.lua', '*.vim' } }) + eq(2, api.nvim_get_var('autocmd_executed')) - meths.nvim_create_autocmd('BufReadPre', { + api.nvim_create_autocmd('BufReadPre', { pattern = { 'bar', 'foo' }, command = 'let g:autocmd_executed += 10', }) - meths.nvim_exec_autocmds('BufReadPre', { pattern = { 'foo', 'bar', 'baz', 'frederick' } }) - eq(22, meths.nvim_get_var('autocmd_executed')) + api.nvim_exec_autocmds('BufReadPre', { pattern = { 'foo', 'bar', 'baz', 'frederick' } }) + eq(22, api.nvim_get_var('autocmd_executed')) end) it('can pass the buffer', function() - meths.nvim_set_var('buffer_executed', -1) - eq(-1, meths.nvim_get_var('buffer_executed')) + api.nvim_set_var('buffer_executed', -1) + eq(-1, api.nvim_get_var('buffer_executed')) - meths.nvim_create_autocmd('BufLeave', { + api.nvim_create_autocmd('BufLeave', { pattern = '*', command = 'let g:buffer_executed = +expand("<abuf>")', }) -- Doesn't execute for other non-matching events - meths.nvim_exec_autocmds('CursorHold', { buffer = 1 }) - eq(-1, meths.nvim_get_var('buffer_executed')) + api.nvim_exec_autocmds('CursorHold', { buffer = 1 }) + eq(-1, api.nvim_get_var('buffer_executed')) - meths.nvim_exec_autocmds('BufLeave', { buffer = 1 }) - eq(1, meths.nvim_get_var('buffer_executed')) + api.nvim_exec_autocmds('BufLeave', { buffer = 1 }) + eq(1, api.nvim_get_var('buffer_executed')) end) it('can pass the filename, pattern match', function() - meths.nvim_set_var('filename_executed', 'none') - eq('none', meths.nvim_get_var('filename_executed')) + api.nvim_set_var('filename_executed', 'none') + eq('none', api.nvim_get_var('filename_executed')) - meths.nvim_create_autocmd('BufEnter', { + api.nvim_create_autocmd('BufEnter', { pattern = '*.py', command = 'let g:filename_executed = expand("<afile>")', }) -- Doesn't execute for other non-matching events - meths.nvim_exec_autocmds('CursorHold', { buffer = 1 }) - eq('none', meths.nvim_get_var('filename_executed')) + api.nvim_exec_autocmds('CursorHold', { buffer = 1 }) + eq('none', api.nvim_get_var('filename_executed')) command('edit __init__.py') - eq('__init__.py', meths.nvim_get_var('filename_executed')) + eq('__init__.py', api.nvim_get_var('filename_executed')) end) it('cannot pass buf and fname', function() local ok = pcall( - meths.nvim_exec_autocmds, + api.nvim_exec_autocmds, 'BufReadPre', { pattern = 'literally_cannot_error.rs', buffer = 1 } ) @@ -952,73 +952,73 @@ describe('autocmd api', function() end) it('can pass the filename, exact match', function() - meths.nvim_set_var('filename_executed', 'none') - eq('none', meths.nvim_get_var('filename_executed')) + api.nvim_set_var('filename_executed', 'none') + eq('none', api.nvim_get_var('filename_executed')) command('edit other_file.txt') command('edit __init__.py') - eq('none', meths.nvim_get_var('filename_executed')) + eq('none', api.nvim_get_var('filename_executed')) - meths.nvim_create_autocmd('CursorHoldI', { + api.nvim_create_autocmd('CursorHoldI', { pattern = '__init__.py', command = 'let g:filename_executed = expand("<afile>")', }) -- Doesn't execute for other non-matching events - meths.nvim_exec_autocmds('CursorHoldI', { buffer = 1 }) - eq('none', meths.nvim_get_var('filename_executed')) + api.nvim_exec_autocmds('CursorHoldI', { buffer = 1 }) + eq('none', api.nvim_get_var('filename_executed')) - meths.nvim_exec_autocmds('CursorHoldI', { buffer = meths.nvim_get_current_buf() }) - eq('__init__.py', meths.nvim_get_var('filename_executed')) + api.nvim_exec_autocmds('CursorHoldI', { buffer = api.nvim_get_current_buf() }) + eq('__init__.py', api.nvim_get_var('filename_executed')) -- Reset filename - meths.nvim_set_var('filename_executed', 'none') + api.nvim_set_var('filename_executed', 'none') - meths.nvim_exec_autocmds('CursorHoldI', { pattern = '__init__.py' }) - eq('__init__.py', meths.nvim_get_var('filename_executed')) + api.nvim_exec_autocmds('CursorHoldI', { pattern = '__init__.py' }) + eq('__init__.py', api.nvim_get_var('filename_executed')) end) it('works with user autocmds', function() - meths.nvim_set_var('matched', 'none') + api.nvim_set_var('matched', 'none') - meths.nvim_create_autocmd('User', { + api.nvim_create_autocmd('User', { pattern = 'TestCommand', command = 'let g:matched = "matched"', }) - meths.nvim_exec_autocmds('User', { pattern = 'OtherCommand' }) - eq('none', meths.nvim_get_var('matched')) - meths.nvim_exec_autocmds('User', { pattern = 'TestCommand' }) - eq('matched', meths.nvim_get_var('matched')) + api.nvim_exec_autocmds('User', { pattern = 'OtherCommand' }) + eq('none', api.nvim_get_var('matched')) + api.nvim_exec_autocmds('User', { pattern = 'TestCommand' }) + eq('matched', api.nvim_get_var('matched')) end) it('can pass group by id', function() - meths.nvim_set_var('group_executed', false) + api.nvim_set_var('group_executed', false) - local auid = meths.nvim_create_augroup('nvim_test_augroup', { clear = true }) - meths.nvim_create_autocmd('FileType', { + local auid = api.nvim_create_augroup('nvim_test_augroup', { clear = true }) + api.nvim_create_autocmd('FileType', { group = auid, command = 'let g:group_executed = v:true', }) - eq(false, meths.nvim_get_var('group_executed')) - meths.nvim_exec_autocmds('FileType', { group = auid }) - eq(true, meths.nvim_get_var('group_executed')) + eq(false, api.nvim_get_var('group_executed')) + api.nvim_exec_autocmds('FileType', { group = auid }) + eq(true, api.nvim_get_var('group_executed')) end) it('can pass group by name', function() - meths.nvim_set_var('group_executed', false) + api.nvim_set_var('group_executed', false) local auname = 'nvim_test_augroup' - meths.nvim_create_augroup(auname, { clear = true }) - meths.nvim_create_autocmd('FileType', { + api.nvim_create_augroup(auname, { clear = true }) + api.nvim_create_autocmd('FileType', { group = auname, command = 'let g:group_executed = v:true', }) - eq(false, meths.nvim_get_var('group_executed')) - meths.nvim_exec_autocmds('FileType', { group = auname }) - eq(true, meths.nvim_get_var('group_executed')) + eq(false, api.nvim_get_var('group_executed')) + api.nvim_exec_autocmds('FileType', { group = auname }) + eq(true, api.nvim_get_var('group_executed')) end) end) @@ -1026,7 +1026,7 @@ describe('autocmd api', function() before_each(function() clear() - meths.nvim_set_var('executed', 0) + api.nvim_set_var('executed', 0) end) local make_counting_autocmd = function(opts) @@ -1040,7 +1040,7 @@ describe('autocmd api', function() resulting.group = opts.group resulting.once = opts.once - meths.nvim_create_autocmd('FileType', resulting) + api.nvim_create_autocmd('FileType', resulting) end local set_ft = function(ft) @@ -1049,12 +1049,12 @@ describe('autocmd api', function() end local get_executed_count = function() - return meths.nvim_get_var('executed') + return api.nvim_get_var('executed') end it('can be added in a group', function() local augroup = 'TestGroup' - meths.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_augroup(augroup, { clear = true }) make_counting_autocmd { group = augroup } set_ft('txt') @@ -1083,7 +1083,7 @@ describe('autocmd api', function() end) it('errors on unexpected keys', function() - local success, code = pcall(meths.nvim_create_autocmd, 'FileType', { + local success, code = pcall(api.nvim_create_autocmd, 'FileType', { pattern = '*', not_a_valid_key = 'NotDefined', }) @@ -1190,8 +1190,8 @@ describe('autocmd api', function() it('groups can be cleared', function() local augroup = 'TestGroup' - meths.nvim_create_augroup(augroup, { clear = true }) - meths.nvim_create_autocmd('FileType', { + api.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_autocmd('FileType', { group = augroup, command = 'let g:executed = g:executed + 1', }) @@ -1200,8 +1200,8 @@ describe('autocmd api', function() set_ft('txt') eq(2, get_executed_count(), 'should only count twice') - meths.nvim_create_augroup(augroup, { clear = true }) - eq({}, meths.nvim_get_autocmds { group = augroup }) + api.nvim_create_augroup(augroup, { clear = true }) + eq({}, api.nvim_get_autocmds { group = augroup }) set_ft('txt') set_ft('txt') @@ -1210,22 +1210,22 @@ describe('autocmd api', function() it('can delete non-existent groups with pcall', function() eq(false, exec_lua [[return pcall(vim.api.nvim_del_augroup_by_name, 'noexist')]]) - eq('Vim:E367: No such group: "noexist"', pcall_err(meths.nvim_del_augroup_by_name, 'noexist')) + eq('Vim:E367: No such group: "noexist"', pcall_err(api.nvim_del_augroup_by_name, 'noexist')) eq(false, exec_lua [[return pcall(vim.api.nvim_del_augroup_by_id, -12342)]]) - eq('Vim:E367: No such group: "--Deleted--"', pcall_err(meths.nvim_del_augroup_by_id, -12312)) + eq('Vim:E367: No such group: "--Deleted--"', pcall_err(api.nvim_del_augroup_by_id, -12312)) eq(false, exec_lua [[return pcall(vim.api.nvim_del_augroup_by_id, 0)]]) - eq('Vim:E367: No such group: "[NULL]"', pcall_err(meths.nvim_del_augroup_by_id, 0)) + eq('Vim:E367: No such group: "[NULL]"', pcall_err(api.nvim_del_augroup_by_id, 0)) eq(false, exec_lua [[return pcall(vim.api.nvim_del_augroup_by_id, 12342)]]) - eq('Vim:E367: No such group: "[NULL]"', pcall_err(meths.nvim_del_augroup_by_id, 12312)) + eq('Vim:E367: No such group: "[NULL]"', pcall_err(api.nvim_del_augroup_by_id, 12312)) end) it('groups work with once', function() local augroup = 'TestGroup' - meths.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_augroup(augroup, { clear = true }) make_counting_autocmd { group = augroup, once = true } set_ft('txt') @@ -1237,7 +1237,7 @@ describe('autocmd api', function() it('autocmds can be registered multiple times.', function() local augroup = 'TestGroup' - meths.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_augroup(augroup, { clear = true }) make_counting_autocmd { group = augroup, once = false } make_counting_autocmd { group = augroup, once = false } make_counting_autocmd { group = augroup, once = false } @@ -1251,16 +1251,16 @@ describe('autocmd api', function() it('can be deleted', function() local augroup = 'WillBeDeleted' - meths.nvim_create_augroup(augroup, { clear = true }) - meths.nvim_create_autocmd({ 'FileType' }, { + api.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_autocmd({ 'FileType' }, { pattern = '*', command = "echo 'does not matter'", }) -- Clears the augroup from before, which erases the autocmd - meths.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_augroup(augroup, { clear = true }) - local result = #meths.nvim_get_autocmds { group = augroup } + local result = #api.nvim_get_autocmds { group = augroup } eq(0, result) end) @@ -1268,10 +1268,10 @@ describe('autocmd api', function() it('can be used for buffer local autocmds', function() local augroup = 'WillBeDeleted' - meths.nvim_set_var('value_set', false) + api.nvim_set_var('value_set', false) - meths.nvim_create_augroup(augroup, { clear = true }) - meths.nvim_create_autocmd('FileType', { + api.nvim_create_augroup(augroup, { clear = true }) + api.nvim_create_autocmd('FileType', { pattern = '<buffer>', command = 'let g:value_set = v:true', }) @@ -1279,7 +1279,7 @@ describe('autocmd api', function() command 'new' command 'set filetype=python' - eq(false, meths.nvim_get_var('value_set')) + eq(false, api.nvim_get_var('value_set')) end) it('can accept vimscript functions', function() @@ -1302,7 +1302,7 @@ describe('autocmd api', function() set filetype=txt ]] - eq(2, meths.nvim_get_var('vimscript_executed')) + eq(2, api.nvim_get_var('vimscript_executed')) end) end) @@ -1314,11 +1314,11 @@ describe('autocmd api', function() command('augroup! TEMP_A') - eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_A' })) + eq(false, pcall(api.nvim_get_autocmds, { group = 'TEMP_A' })) -- For some reason, augroup! doesn't clear the autocmds themselves, which is just wild -- but we managed to keep this behavior. - eq(1, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(1, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) it('legacy: remove augroups that have no autocmds', function() @@ -1327,8 +1327,8 @@ describe('autocmd api', function() command('augroup! TEMP_AB') - eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_AB' })) - eq(0, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(false, pcall(api.nvim_get_autocmds, { group = 'TEMP_AB' })) + eq(0, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) it('legacy: multiple remove and add augroup', function() @@ -1340,7 +1340,7 @@ describe('autocmd api', function() command('augroup! TEMP_ABC') -- Should still have one autocmd :'( - local aus = meths.nvim_get_autocmds { event = 'BufReadPost' } + local aus = api.nvim_get_autocmds { event = 'BufReadPost' } eq(1, #aus, aus) command('augroup TEMP_ABC') @@ -1349,13 +1349,13 @@ describe('autocmd api', function() command('augroup END') -- Should now have two autocmds :'( - aus = meths.nvim_get_autocmds { event = 'BufReadPost' } + aus = api.nvim_get_autocmds { event = 'BufReadPost' } eq(2, #aus, aus) command('augroup! TEMP_ABC') - eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABC' })) - eq(2, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(false, pcall(api.nvim_get_autocmds, { group = 'TEMP_ABC' })) + eq(2, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) it('api: should clear and not return any autocmds for delete groups by id', function() @@ -1363,13 +1363,13 @@ describe('autocmd api', function() command('autocmd! BufReadPost *.py :echo "Hello"') command('augroup END') - local augroup_id = meths.nvim_create_augroup('TEMP_ABCD', { clear = false }) - meths.nvim_del_augroup_by_id(augroup_id) + local augroup_id = api.nvim_create_augroup('TEMP_ABCD', { clear = false }) + api.nvim_del_augroup_by_id(augroup_id) -- For good reason, we kill all the autocmds from del_augroup, -- so now this works as expected - eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABCD' })) - eq(0, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(false, pcall(api.nvim_get_autocmds, { group = 'TEMP_ABCD' })) + eq(0, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) it('api: should clear and not return any autocmds for delete groups by name', function() @@ -1377,12 +1377,12 @@ describe('autocmd api', function() command('autocmd! BufReadPost *.py :echo "Hello"') command('augroup END') - meths.nvim_del_augroup_by_name('TEMP_ABCDE') + api.nvim_del_augroup_by_name('TEMP_ABCDE') -- For good reason, we kill all the autocmds from del_augroup, -- so now this works as expected - eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABCDE' })) - eq(0, #meths.nvim_get_autocmds { event = 'BufReadPost' }) + eq(false, pcall(api.nvim_get_autocmds, { group = 'TEMP_ABCDE' })) + eq(0, #api.nvim_get_autocmds { event = 'BufReadPost' }) end) end) @@ -1390,18 +1390,18 @@ describe('autocmd api', function() it('validation', function() eq( "Cannot use both 'pattern' and 'buffer'", - pcall_err(meths.nvim_clear_autocmds, { + pcall_err(api.nvim_clear_autocmds, { pattern = '*', buffer = 42, }) ) eq( "Invalid 'event' item: expected String, got Array", - pcall_err(meths.nvim_clear_autocmds, { + pcall_err(api.nvim_clear_autocmds, { event = { 'FileType', {} }, }) ) - eq("Invalid 'group': 0", pcall_err(meths.nvim_clear_autocmds, { group = 0 })) + eq("Invalid 'group': 0", pcall_err(api.nvim_clear_autocmds, { group = 0 })) end) it('should clear based on event + pattern', function() @@ -1409,17 +1409,17 @@ describe('autocmd api', function() command('autocmd InsertEnter *.txt :echo "Text Files Are Cool"') local search = { event = 'InsertEnter', pattern = '*.txt' } - local before_delete = meths.nvim_get_autocmds(search) + local before_delete = api.nvim_get_autocmds(search) eq(1, #before_delete) - local before_delete_all = meths.nvim_get_autocmds { event = search.event } + local before_delete_all = api.nvim_get_autocmds { event = search.event } eq(2, #before_delete_all) - meths.nvim_clear_autocmds(search) - local after_delete = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds(search) + local after_delete = api.nvim_get_autocmds(search) eq(0, #after_delete) - local after_delete_all = meths.nvim_get_autocmds { event = search.event } + local after_delete_all = api.nvim_get_autocmds { event = search.event } eq(1, #after_delete_all) end) @@ -1428,11 +1428,11 @@ describe('autocmd api', function() command('autocmd InsertEnter *.txt :echo "Text Files Are Cool"') local search = { event = 'InsertEnter' } - local before_delete = meths.nvim_get_autocmds(search) + local before_delete = api.nvim_get_autocmds(search) eq(2, #before_delete) - meths.nvim_clear_autocmds(search) - local after_delete = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds(search) + local after_delete = api.nvim_get_autocmds(search) eq(0, #after_delete) end) @@ -1443,18 +1443,17 @@ describe('autocmd api', function() command('autocmd InsertLeave *.TestPat2 :echo "Leave 2"') local search = { pattern = '*.TestPat1' } - local before_delete = meths.nvim_get_autocmds(search) + local before_delete = api.nvim_get_autocmds(search) eq(2, #before_delete) local before_delete_events = - meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } + api.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } eq(4, #before_delete_events) - meths.nvim_clear_autocmds(search) - local after_delete = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds(search) + local after_delete = api.nvim_get_autocmds(search) eq(0, #after_delete) - local after_delete_events = - meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } + local after_delete_events = api.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } } eq(2, #after_delete_events) end) @@ -1464,11 +1463,11 @@ describe('autocmd api', function() command('autocmd InsertEnter *.TestPat1 :echo "Enter Pattern"') local search = { event = 'InsertEnter' } - local before_delete = meths.nvim_get_autocmds(search) + local before_delete = api.nvim_get_autocmds(search) eq(2, #before_delete) - meths.nvim_clear_autocmds { buffer = 0 } - local after_delete = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds { buffer = 0 } + local after_delete = api.nvim_get_autocmds(search) eq(1, #after_delete) eq('*.TestPat1', after_delete[1].pattern) end) @@ -1481,17 +1480,17 @@ describe('autocmd api', function() command('augroup END') local search = { event = 'InsertEnter', group = 'TestNvimClearAutocmds' } - local before_delete = meths.nvim_get_autocmds(search) + local before_delete = api.nvim_get_autocmds(search) eq(2, #before_delete) -- Doesn't clear without passing group. - meths.nvim_clear_autocmds { buffer = 0 } - local without_group = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds { buffer = 0 } + local without_group = api.nvim_get_autocmds(search) eq(2, #without_group) -- Doesn't clear with passing group. - meths.nvim_clear_autocmds { buffer = 0, group = search.group } - local with_group = meths.nvim_get_autocmds(search) + api.nvim_clear_autocmds { buffer = 0, group = search.group } + local with_group = api.nvim_get_autocmds(search) eq(1, #with_group) end) end) |