aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/autocmd_spec.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-01-12 12:44:54 +0000
committerLewis Russell <lewis6991@gmail.com>2024-01-12 13:01:06 +0000
commitc30f2e3182e3b50e7c03932027ac55edfc8ada4a (patch)
treeedf0a76dba282d946f67fe70fff8c6cbe28e7a82 /test/functional/api/autocmd_spec.lua
parent284e0ad26dd9de90c3a813dd1b357a425eca6bad (diff)
downloadrneovim-c30f2e3182e3b50e7c03932027ac55edfc8ada4a.tar.gz
rneovim-c30f2e3182e3b50e7c03932027ac55edfc8ada4a.tar.bz2
rneovim-c30f2e3182e3b50e7c03932027ac55edfc8ada4a.zip
test: typing for helpers.meths
Diffstat (limited to 'test/functional/api/autocmd_spec.lua')
-rw-r--r--test/functional/api/autocmd_spec.lua442
1 files changed, 222 insertions, 220 deletions
diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua
index 1590ca2eda..79a524d9eb 100644
--- a/test/functional/api/autocmd_spec.lua
+++ b/test/functional/api/autocmd_spec.lua
@@ -17,7 +17,7 @@ describe('autocmd api', function()
it('validation', function()
eq(
"Cannot use both 'callback' and 'command'",
- pcall_err(meths.create_autocmd, 'BufReadPost', {
+ pcall_err(meths.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.create_autocmd, 'FileType', {
+ pcall_err(meths.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.create_autocmd, {}, {
+ pcall_err(meths.nvim_create_autocmd, {}, {
command = 'ls',
})
)
- eq("Required: 'command' or 'callback'", pcall_err(meths.create_autocmd, 'FileType', {}))
+ eq("Required: 'command' or 'callback'", pcall_err(meths.nvim_create_autocmd, 'FileType', {}))
eq(
"Invalid 'desc': expected String, got Integer",
- pcall_err(meths.create_autocmd, 'FileType', {
+ pcall_err(meths.nvim_create_autocmd, 'FileType', {
command = 'ls',
desc = 42,
})
)
eq(
"Invalid 'callback': expected Lua function or Vim function name, got Integer",
- pcall_err(meths.create_autocmd, 'FileType', {
+ pcall_err(meths.nvim_create_autocmd, 'FileType', {
callback = 0,
})
)
eq(
"Invalid 'event' item: expected String, got Array",
- pcall_err(meths.create_autocmd, { 'FileType', {} }, {})
+ pcall_err(meths.nvim_create_autocmd, { 'FileType', {} }, {})
)
eq(
"Invalid 'group': 0",
- pcall_err(meths.create_autocmd, 'FileType', {
+ pcall_err(meths.nvim_create_autocmd, 'FileType', {
group = 0,
command = 'ls',
})
)
- eq("Invalid 'event': 'foo'", pcall_err(meths.create_autocmd, 'foo', { command = '' }))
+ eq("Invalid 'event': 'foo'", pcall_err(meths.nvim_create_autocmd, 'foo', { command = '' }))
eq(
"Invalid 'event': 'VimEnter '",
- pcall_err(meths.create_autocmd, 'VimEnter ', { command = '' })
+ pcall_err(meths.nvim_create_autocmd, 'VimEnter ', { command = '' })
)
eq(
"Invalid 'event': 'VimEnter foo'",
- pcall_err(meths.create_autocmd, 'VimEnter foo', { command = '' })
+ pcall_err(meths.nvim_create_autocmd, 'VimEnter foo', { command = '' })
)
eq(
"Invalid 'event': 'BufAdd,BufDelete'",
- pcall_err(meths.create_autocmd, 'BufAdd,BufDelete', { command = '' })
+ pcall_err(meths.nvim_create_autocmd, 'BufAdd,BufDelete', { command = '' })
)
end)
@@ -102,25 +102,25 @@ describe('autocmd api', function()
end)
it('allows passing buffer by key', function()
- meths.set_var('called', 0)
+ meths.nvim_set_var('called', 0)
- meths.create_autocmd('FileType', {
+ meths.nvim_create_autocmd('FileType', {
command = 'let g:called = g:called + 1',
buffer = 0,
})
- meths.command 'set filetype=txt'
- eq(1, meths.get_var('called'))
+ meths.nvim_command 'set filetype=txt'
+ eq(1, meths.nvim_get_var('called'))
-- switch to a new buffer
- meths.command 'new'
- meths.command 'set filetype=python'
+ meths.nvim_command 'new'
+ meths.nvim_command 'set filetype=python'
- eq(1, meths.get_var('called'))
+ eq(1, meths.nvim_get_var('called'))
end)
it('does not allow passing invalid buffers', function()
- local ok, msg = pcall(meths.create_autocmd, 'FileType', {
+ local ok, msg = pcall(meths.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.create_autocmd, 'BufReadPost', {
+ local ok = pcall(meths.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.create_autocmd('BufReadPost', {
+ meths.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.get_autocmds { event = 'BufReadPost' })
+ eq(2, #meths.nvim_get_autocmds { event = 'BufReadPost' })
end)
it('should handle multiple values as array', function()
- meths.create_autocmd('BufReadPost', {
+ meths.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.get_autocmds { event = 'BufReadPost' })
+ eq(2, #meths.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.create_autocmd('BufReadPost', {
+ meths.nvim_create_autocmd('BufReadPost', {
pattern = '*.py',
command = cmd,
desc = desc,
})
- eq(desc, meths.get_autocmds { event = 'BufReadPost' }[1].desc)
- eq(cmd, meths.get_autocmds { event = 'BufReadPost' }[1].command)
+ eq(desc, meths.nvim_get_autocmds { event = 'BufReadPost' }[1].desc)
+ eq(cmd, meths.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.set_var('desc', desc)
+ meths.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.get_autocmds({ event = 'BufReadPost' })[1].desc)
+ eq(nil, meths.nvim_get_autocmds({ event = 'BufReadPost' })[1].desc)
end)
it('can add description to multiple autocmd', function()
- meths.create_autocmd('BufReadPost', {
+ meths.nvim_create_autocmd('BufReadPost', {
pattern = { '*.py', '*.pyi' },
command = "echo 'Should Not Have Errored'",
desc = 'Can show description',
})
- local aus = meths.get_autocmds { event = 'BufReadPost' }
+ local aus = meths.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.create_autocmd('BufReadPost', {
+ meths.nvim_create_autocmd('BufReadPost', {
pattern = '*.py',
command = "echo 'Should Not Have Errored'",
desc = 'Can show description',
})
- local aus = meths.get_autocmds { event = 'BufReadPost' }
+ local aus = meths.nvim_get_autocmds { event = 'BufReadPost' }
eq(1, #aus, aus)
end)
end)
it('removes an autocommand if the callback returns true', function()
- meths.set_var('some_condition', false)
+ meths.nvim_set_var('some_condition', false)
exec_lua [[
vim.api.nvim_create_autocmd("User", {
@@ -261,21 +261,21 @@ describe('autocmd api', function()
})
]]
- meths.exec_autocmds('User', { pattern = 'Test' })
+ meths.nvim_exec_autocmds('User', { pattern = 'Test' })
- local aus = meths.get_autocmds({ event = 'User', pattern = 'Test' })
+ local aus = meths.nvim_get_autocmds({ event = 'User', pattern = 'Test' })
local first = aus[1]
eq(true, first.id > 0)
- meths.set_var('some_condition', true)
- meths.exec_autocmds('User', { pattern = 'Test' })
- eq({}, meths.get_autocmds({ event = 'User', pattern = 'Test' }))
+ meths.nvim_set_var('some_condition', true)
+ meths.nvim_exec_autocmds('User', { pattern = 'Test' })
+ eq({}, meths.nvim_get_autocmds({ event = 'User', pattern = 'Test' }))
end)
it('receives an args table', function()
- local group_id = meths.create_augroup('TestGroup', {})
+ local group_id = meths.nvim_create_augroup('TestGroup', {})
-- Having an existing autocmd calling expand("<afile>") shouldn't change args #18964
- meths.create_autocmd('User', {
+ meths.nvim_create_autocmd('User', {
group = 'TestGroup',
pattern = 'Te*',
command = 'call expand("<afile>")',
@@ -291,7 +291,7 @@ describe('autocmd api', function()
})
]]
- meths.exec_autocmds('User', { pattern = 'Test pattern' })
+ meths.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.get_var('autocmd_args'))
+ }, meths.nvim_get_var('autocmd_args'))
-- Test without a group
autocmd_id = exec_lua [[
@@ -311,7 +311,7 @@ describe('autocmd api', function()
})
]]
- meths.exec_autocmds('User', { pattern = 'some_pat' })
+ meths.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.get_var('autocmd_args'))
+ }, meths.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.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
group = 9997999,
})
)
eq(
"Invalid 'group': 'bogus'",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
group = 'bogus',
})
)
eq(
"Invalid 'group': 0",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
group = 0,
})
)
eq(
"Invalid 'group': expected String or Integer, got Array",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
group = {},
})
)
eq(
"Invalid 'buffer': expected Integer or Array, got Boolean",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
buffer = true,
})
)
eq(
"Invalid 'event': expected String or Array",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
event = true,
})
)
eq(
"Invalid 'pattern': expected String or Array, got Boolean",
- pcall_err(meths.get_autocmds, {
+ pcall_err(meths.nvim_get_autocmds, {
pattern = true,
})
)
@@ -408,7 +408,7 @@ describe('autocmd api', function()
command [[au! InsertEnter]]
command [[au InsertEnter * :echo "1"]]
- local aus = meths.get_autocmds { event = 'InsertEnter' }
+ local aus = meths.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.get_autocmds { event = 'InsertEnter' }
+ local aus = meths.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.get_autocmds { event = 'InsertEnter' }
- local array_aus = meths.get_autocmds { event = { 'InsertEnter' } }
+ local string_aus = meths.nvim_get_autocmds { event = 'InsertEnter' }
+ local array_aus = meths.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.get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
+ local aus = meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
eq(2, #aus)
end)
@@ -451,7 +451,7 @@ describe('autocmd api', function()
\ })
]]
- local aus = meths.get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
+ local aus = meths.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.del_autocmd(second.id)
- local new_aus = meths.get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
+ meths.nvim_del_autocmd(second.id)
+ local new_aus = meths.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.get_autocmds { event = 'InsertEnter' }
+ local aus = meths.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.get_autocmds { event = 'InsertEnter', buffer = 0 }
+ local aus = meths.nvim_get_autocmds { event = 'InsertEnter', buffer = 0 }
eq({
{
buffer = 2,
@@ -499,7 +499,7 @@ describe('autocmd api', function()
},
}, aus)
- aus = meths.get_autocmds { event = 'InsertEnter', buffer = 1 }
+ aus = meths.nvim_get_autocmds { event = 'InsertEnter', buffer = 1 }
eq({
{
buffer = 1,
@@ -511,7 +511,7 @@ describe('autocmd api', function()
},
}, aus)
- aus = meths.get_autocmds { event = 'InsertEnter', buffer = { 1, 2 } }
+ aus = meths.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.get_autocmds, { event = 'InsertEnter', buffer = 'foo' })
+ pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = 'foo' })
)
eq(
"Invalid 'buffer': expected Integer, got String",
- pcall_err(meths.get_autocmds, { event = 'InsertEnter', buffer = { 'foo', 42 } })
+ pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 'foo', 42 } })
)
eq(
'Invalid buffer id: 42',
- pcall_err(meths.get_autocmds, { event = 'InsertEnter', buffer = { 42 } })
+ pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = { 42 } })
)
local bufs = {}
for _ = 1, 257 do
- table.insert(bufs, meths.create_buf(true, false))
+ table.insert(bufs, meths.nvim_create_buf(true, false))
end
eq(
'Too many buffers (maximum of 256)',
- pcall_err(meths.get_autocmds, { event = 'InsertEnter', buffer = bufs })
+ pcall_err(meths.nvim_get_autocmds, { event = 'InsertEnter', buffer = bufs })
)
end)
it('returns autocmds when group is specified by id', function()
- local auid = meths.create_augroup('nvim_test_augroup', { clear = true })
- meths.create_autocmd('FileType', { group = auid, command = 'echo "1"' })
- meths.create_autocmd('FileType', { group = auid, command = 'echo "2"' })
+ 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 aus = meths.get_autocmds { group = auid }
+ local aus = meths.nvim_get_autocmds { group = auid }
eq(2, #aus)
- local aus2 = meths.get_autocmds { group = auid, event = 'InsertEnter' }
+ local aus2 = meths.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.create_augroup(auname, { clear = true })
- meths.create_autocmd('FileType', { group = auname, command = 'echo "1"' })
- meths.create_autocmd('FileType', { group = auname, command = 'echo "2"' })
+ 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"' })
- local aus = meths.get_autocmds { group = auname }
+ local aus = meths.nvim_get_autocmds { group = auname }
eq(2, #aus)
- local aus2 = meths.get_autocmds { group = auname, event = 'InsertEnter' }
+ local aus2 = meths.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.set_var('content', content)
+ meths.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.get_autocmds { event = 'InsertEnter' }
+ local aus = meths.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.get_autocmds {
+ local aus = meths.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.get_autocmds {
+ local aus = meths.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.exec_lua(
+ local success, code = unpack(meths.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.exec_lua(
+ local success, code = unpack(meths.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.exec_lua(
+ local success, code = unpack(meths.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.exec_lua(
+ local success, code = unpack(meths.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.get_autocmds {
+ local aus = meths.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.get_autocmds {
+ local aus = meths.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.get_autocmds {
+ local normalized_aus = meths.nvim_get_autocmds {
event = 'InsertEnter',
pattern = '<buffer=1>',
}
- local raw_aus = meths.get_autocmds {
+ local raw_aus = meths.nvim_get_autocmds {
event = 'InsertEnter',
pattern = '<buffer>',
}
- local zero_aus = meths.get_autocmds {
+ local zero_aus = meths.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.exec_autocmds, 'FileType', {
+ pcall_err(meths.nvim_exec_autocmds, 'FileType', {
group = 9997999,
})
)
eq(
"Invalid 'group': 'bogus'",
- pcall_err(meths.exec_autocmds, 'FileType', {
+ pcall_err(meths.nvim_exec_autocmds, 'FileType', {
group = 'bogus',
})
)
eq(
"Invalid 'group': expected String or Integer, got Array",
- pcall_err(meths.exec_autocmds, 'FileType', {
+ pcall_err(meths.nvim_exec_autocmds, 'FileType', {
group = {},
})
)
eq(
"Invalid 'group': 0",
- pcall_err(meths.exec_autocmds, 'FileType', {
+ pcall_err(meths.nvim_exec_autocmds, 'FileType', {
group = 0,
})
)
eq(
"Invalid 'buffer': expected Buffer, got Array",
- pcall_err(meths.exec_autocmds, 'FileType', {
+ pcall_err(meths.nvim_exec_autocmds, 'FileType', {
buffer = {},
})
)
eq(
"Invalid 'event' item: expected String, got Array",
- pcall_err(meths.exec_autocmds, { 'FileType', {} }, {})
+ pcall_err(meths.nvim_exec_autocmds, { 'FileType', {} }, {})
)
end)
it('can trigger builtin autocmds', function()
- meths.set_var('autocmd_executed', false)
+ meths.nvim_set_var('autocmd_executed', false)
- meths.create_autocmd('BufReadPost', {
+ meths.nvim_create_autocmd('BufReadPost', {
pattern = '*',
command = 'let g:autocmd_executed = v:true',
})
- eq(false, meths.get_var('autocmd_executed'))
- meths.exec_autocmds('BufReadPost', {})
- eq(true, meths.get_var('autocmd_executed'))
+ eq(false, meths.nvim_get_var('autocmd_executed'))
+ meths.nvim_exec_autocmds('BufReadPost', {})
+ eq(true, meths.nvim_get_var('autocmd_executed'))
end)
it('can trigger multiple patterns', function()
- meths.set_var('autocmd_executed', 0)
+ meths.nvim_set_var('autocmd_executed', 0)
- meths.create_autocmd('BufReadPost', {
+ meths.nvim_create_autocmd('BufReadPost', {
pattern = '*',
command = 'let g:autocmd_executed += 1',
})
- meths.exec_autocmds('BufReadPost', { pattern = { '*.lua', '*.vim' } })
- eq(2, meths.get_var('autocmd_executed'))
+ meths.nvim_exec_autocmds('BufReadPost', { pattern = { '*.lua', '*.vim' } })
+ eq(2, meths.nvim_get_var('autocmd_executed'))
- meths.create_autocmd('BufReadPre', {
+ meths.nvim_create_autocmd('BufReadPre', {
pattern = { 'bar', 'foo' },
command = 'let g:autocmd_executed += 10',
})
- meths.exec_autocmds('BufReadPre', { pattern = { 'foo', 'bar', 'baz', 'frederick' } })
- eq(22, meths.get_var('autocmd_executed'))
+ meths.nvim_exec_autocmds('BufReadPre', { pattern = { 'foo', 'bar', 'baz', 'frederick' } })
+ eq(22, meths.nvim_get_var('autocmd_executed'))
end)
it('can pass the buffer', function()
- meths.set_var('buffer_executed', -1)
- eq(-1, meths.get_var('buffer_executed'))
+ meths.nvim_set_var('buffer_executed', -1)
+ eq(-1, meths.nvim_get_var('buffer_executed'))
- meths.create_autocmd('BufLeave', {
+ meths.nvim_create_autocmd('BufLeave', {
pattern = '*',
command = 'let g:buffer_executed = +expand("<abuf>")',
})
-- Doesn't execute for other non-matching events
- meths.exec_autocmds('CursorHold', { buffer = 1 })
- eq(-1, meths.get_var('buffer_executed'))
+ meths.nvim_exec_autocmds('CursorHold', { buffer = 1 })
+ eq(-1, meths.nvim_get_var('buffer_executed'))
- meths.exec_autocmds('BufLeave', { buffer = 1 })
- eq(1, meths.get_var('buffer_executed'))
+ meths.nvim_exec_autocmds('BufLeave', { buffer = 1 })
+ eq(1, meths.nvim_get_var('buffer_executed'))
end)
it('can pass the filename, pattern match', function()
- meths.set_var('filename_executed', 'none')
- eq('none', meths.get_var('filename_executed'))
+ meths.nvim_set_var('filename_executed', 'none')
+ eq('none', meths.nvim_get_var('filename_executed'))
- meths.create_autocmd('BufEnter', {
+ meths.nvim_create_autocmd('BufEnter', {
pattern = '*.py',
command = 'let g:filename_executed = expand("<afile>")',
})
-- Doesn't execute for other non-matching events
- meths.exec_autocmds('CursorHold', { buffer = 1 })
- eq('none', meths.get_var('filename_executed'))
+ meths.nvim_exec_autocmds('CursorHold', { buffer = 1 })
+ eq('none', meths.nvim_get_var('filename_executed'))
- meths.command('edit __init__.py')
- eq('__init__.py', meths.get_var('filename_executed'))
+ meths.nvim_command('edit __init__.py')
+ eq('__init__.py', meths.nvim_get_var('filename_executed'))
end)
it('cannot pass buf and fname', function()
local ok = pcall(
- meths.exec_autocmds,
+ meths.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.set_var('filename_executed', 'none')
- eq('none', meths.get_var('filename_executed'))
+ meths.nvim_set_var('filename_executed', 'none')
+ eq('none', meths.nvim_get_var('filename_executed'))
- meths.command('edit other_file.txt')
- meths.command('edit __init__.py')
- eq('none', meths.get_var('filename_executed'))
+ meths.nvim_command('edit other_file.txt')
+ meths.nvim_command('edit __init__.py')
+ eq('none', meths.nvim_get_var('filename_executed'))
- meths.create_autocmd('CursorHoldI', {
+ meths.nvim_create_autocmd('CursorHoldI', {
pattern = '__init__.py',
command = 'let g:filename_executed = expand("<afile>")',
})
-- Doesn't execute for other non-matching events
- meths.exec_autocmds('CursorHoldI', { buffer = 1 })
- eq('none', meths.get_var('filename_executed'))
+ meths.nvim_exec_autocmds('CursorHoldI', { buffer = 1 })
+ eq('none', meths.nvim_get_var('filename_executed'))
- meths.exec_autocmds('CursorHoldI', { buffer = meths.get_current_buf() })
- eq('__init__.py', meths.get_var('filename_executed'))
+ meths.nvim_exec_autocmds('CursorHoldI', { buffer = meths.nvim_get_current_buf() })
+ eq('__init__.py', meths.nvim_get_var('filename_executed'))
-- Reset filename
- meths.set_var('filename_executed', 'none')
+ meths.nvim_set_var('filename_executed', 'none')
- meths.exec_autocmds('CursorHoldI', { pattern = '__init__.py' })
- eq('__init__.py', meths.get_var('filename_executed'))
+ meths.nvim_exec_autocmds('CursorHoldI', { pattern = '__init__.py' })
+ eq('__init__.py', meths.nvim_get_var('filename_executed'))
end)
it('works with user autocmds', function()
- meths.set_var('matched', 'none')
+ meths.nvim_set_var('matched', 'none')
- meths.create_autocmd('User', {
+ meths.nvim_create_autocmd('User', {
pattern = 'TestCommand',
command = 'let g:matched = "matched"',
})
- meths.exec_autocmds('User', { pattern = 'OtherCommand' })
- eq('none', meths.get_var('matched'))
- meths.exec_autocmds('User', { pattern = 'TestCommand' })
- eq('matched', meths.get_var('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'))
end)
it('can pass group by id', function()
- meths.set_var('group_executed', false)
+ meths.nvim_set_var('group_executed', false)
- local auid = meths.create_augroup('nvim_test_augroup', { clear = true })
- meths.create_autocmd('FileType', {
+ local auid = meths.nvim_create_augroup('nvim_test_augroup', { clear = true })
+ meths.nvim_create_autocmd('FileType', {
group = auid,
command = 'let g:group_executed = v:true',
})
- eq(false, meths.get_var('group_executed'))
- meths.exec_autocmds('FileType', { group = auid })
- eq(true, meths.get_var('group_executed'))
+ eq(false, meths.nvim_get_var('group_executed'))
+ meths.nvim_exec_autocmds('FileType', { group = auid })
+ eq(true, meths.nvim_get_var('group_executed'))
end)
it('can pass group by name', function()
- meths.set_var('group_executed', false)
+ meths.nvim_set_var('group_executed', false)
local auname = 'nvim_test_augroup'
- meths.create_augroup(auname, { clear = true })
- meths.create_autocmd('FileType', {
+ meths.nvim_create_augroup(auname, { clear = true })
+ meths.nvim_create_autocmd('FileType', {
group = auname,
command = 'let g:group_executed = v:true',
})
- eq(false, meths.get_var('group_executed'))
- meths.exec_autocmds('FileType', { group = auname })
- eq(true, meths.get_var('group_executed'))
+ eq(false, meths.nvim_get_var('group_executed'))
+ meths.nvim_exec_autocmds('FileType', { group = auname })
+ eq(true, meths.nvim_get_var('group_executed'))
end)
end)
@@ -1026,7 +1026,7 @@ describe('autocmd api', function()
before_each(function()
clear()
- meths.set_var('executed', 0)
+ meths.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.create_autocmd('FileType', resulting)
+ meths.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.get_var('executed')
+ return meths.nvim_get_var('executed')
end
it('can be added in a group', function()
local augroup = 'TestGroup'
- meths.create_augroup(augroup, { clear = true })
+ meths.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.create_autocmd, 'FileType', {
+ local success, code = pcall(meths.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.create_augroup(augroup, { clear = true })
- meths.create_autocmd('FileType', {
+ meths.nvim_create_augroup(augroup, { clear = true })
+ meths.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.create_augroup(augroup, { clear = true })
- eq({}, meths.get_autocmds { group = augroup })
+ meths.nvim_create_augroup(augroup, { clear = true })
+ eq({}, meths.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.del_augroup_by_name, 'noexist'))
+ eq('Vim:E367: No such group: "noexist"', pcall_err(meths.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.del_augroup_by_id, -12312))
+ eq('Vim:E367: No such group: "--Deleted--"', pcall_err(meths.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.del_augroup_by_id, 0))
+ eq('Vim:E367: No such group: "[NULL]"', pcall_err(meths.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.del_augroup_by_id, 12312))
+ eq('Vim:E367: No such group: "[NULL]"', pcall_err(meths.nvim_del_augroup_by_id, 12312))
end)
it('groups work with once', function()
local augroup = 'TestGroup'
- meths.create_augroup(augroup, { clear = true })
+ meths.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.create_augroup(augroup, { clear = true })
+ meths.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.create_augroup(augroup, { clear = true })
- meths.create_autocmd({ 'FileType' }, {
+ meths.nvim_create_augroup(augroup, { clear = true })
+ meths.nvim_create_autocmd({ 'FileType' }, {
pattern = '*',
command = "echo 'does not matter'",
})
-- Clears the augroup from before, which erases the autocmd
- meths.create_augroup(augroup, { clear = true })
+ meths.nvim_create_augroup(augroup, { clear = true })
- local result = #meths.get_autocmds { group = augroup }
+ local result = #meths.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.set_var('value_set', false)
+ meths.nvim_set_var('value_set', false)
- meths.create_augroup(augroup, { clear = true })
- meths.create_autocmd('FileType', {
+ meths.nvim_create_augroup(augroup, { clear = true })
+ meths.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.get_var('value_set'))
+ eq(false, meths.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.get_var('vimscript_executed'))
+ eq(2, meths.nvim_get_var('vimscript_executed'))
end)
end)
@@ -1314,11 +1314,11 @@ describe('autocmd api', function()
command('augroup! TEMP_A')
- eq(false, pcall(meths.get_autocmds, { group = 'TEMP_A' }))
+ eq(false, pcall(meths.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.get_autocmds { event = 'BufReadPost' })
+ eq(1, #meths.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.get_autocmds, { group = 'TEMP_AB' }))
- eq(0, #meths.get_autocmds { event = 'BufReadPost' })
+ eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_AB' }))
+ eq(0, #meths.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.get_autocmds { event = 'BufReadPost' }
+ local aus = meths.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.get_autocmds { event = 'BufReadPost' }
+ aus = meths.nvim_get_autocmds { event = 'BufReadPost' }
eq(2, #aus, aus)
command('augroup! TEMP_ABC')
- eq(false, pcall(meths.get_autocmds, { group = 'TEMP_ABC' }))
- eq(2, #meths.get_autocmds { event = 'BufReadPost' })
+ eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABC' }))
+ eq(2, #meths.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.create_augroup('TEMP_ABCD', { clear = false })
- meths.del_augroup_by_id(augroup_id)
+ local augroup_id = meths.nvim_create_augroup('TEMP_ABCD', { clear = false })
+ meths.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.get_autocmds, { group = 'TEMP_ABCD' }))
- eq(0, #meths.get_autocmds { event = 'BufReadPost' })
+ eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABCD' }))
+ eq(0, #meths.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.del_augroup_by_name('TEMP_ABCDE')
+ meths.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.get_autocmds, { group = 'TEMP_ABCDE' }))
- eq(0, #meths.get_autocmds { event = 'BufReadPost' })
+ eq(false, pcall(meths.nvim_get_autocmds, { group = 'TEMP_ABCDE' }))
+ eq(0, #meths.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.clear_autocmds, {
+ pcall_err(meths.nvim_clear_autocmds, {
pattern = '*',
buffer = 42,
})
)
eq(
"Invalid 'event' item: expected String, got Array",
- pcall_err(meths.clear_autocmds, {
+ pcall_err(meths.nvim_clear_autocmds, {
event = { 'FileType', {} },
})
)
- eq("Invalid 'group': 0", pcall_err(meths.clear_autocmds, { group = 0 }))
+ eq("Invalid 'group': 0", pcall_err(meths.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.get_autocmds(search)
+ local before_delete = meths.nvim_get_autocmds(search)
eq(1, #before_delete)
- local before_delete_all = meths.get_autocmds { event = search.event }
+ local before_delete_all = meths.nvim_get_autocmds { event = search.event }
eq(2, #before_delete_all)
- meths.clear_autocmds(search)
- local after_delete = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds(search)
+ local after_delete = meths.nvim_get_autocmds(search)
eq(0, #after_delete)
- local after_delete_all = meths.get_autocmds { event = search.event }
+ local after_delete_all = meths.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.get_autocmds(search)
+ local before_delete = meths.nvim_get_autocmds(search)
eq(2, #before_delete)
- meths.clear_autocmds(search)
- local after_delete = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds(search)
+ local after_delete = meths.nvim_get_autocmds(search)
eq(0, #after_delete)
end)
@@ -1443,16 +1443,18 @@ describe('autocmd api', function()
command('autocmd InsertLeave *.TestPat2 :echo "Leave 2"')
local search = { pattern = '*.TestPat1' }
- local before_delete = meths.get_autocmds(search)
+ local before_delete = meths.nvim_get_autocmds(search)
eq(2, #before_delete)
- local before_delete_events = meths.get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
+ local before_delete_events =
+ meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
eq(4, #before_delete_events)
- meths.clear_autocmds(search)
- local after_delete = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds(search)
+ local after_delete = meths.nvim_get_autocmds(search)
eq(0, #after_delete)
- local after_delete_events = meths.get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
+ local after_delete_events =
+ meths.nvim_get_autocmds { event = { 'InsertEnter', 'InsertLeave' } }
eq(2, #after_delete_events)
end)
@@ -1462,11 +1464,11 @@ describe('autocmd api', function()
command('autocmd InsertEnter *.TestPat1 :echo "Enter Pattern"')
local search = { event = 'InsertEnter' }
- local before_delete = meths.get_autocmds(search)
+ local before_delete = meths.nvim_get_autocmds(search)
eq(2, #before_delete)
- meths.clear_autocmds { buffer = 0 }
- local after_delete = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds { buffer = 0 }
+ local after_delete = meths.nvim_get_autocmds(search)
eq(1, #after_delete)
eq('*.TestPat1', after_delete[1].pattern)
end)
@@ -1479,17 +1481,17 @@ describe('autocmd api', function()
command('augroup END')
local search = { event = 'InsertEnter', group = 'TestNvimClearAutocmds' }
- local before_delete = meths.get_autocmds(search)
+ local before_delete = meths.nvim_get_autocmds(search)
eq(2, #before_delete)
-- Doesn't clear without passing group.
- meths.clear_autocmds { buffer = 0 }
- local without_group = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds { buffer = 0 }
+ local without_group = meths.nvim_get_autocmds(search)
eq(2, #without_group)
-- Doesn't clear with passing group.
- meths.clear_autocmds { buffer = 0, group = search.group }
- local with_group = meths.get_autocmds(search)
+ meths.nvim_clear_autocmds { buffer = 0, group = search.group }
+ local with_group = meths.nvim_get_autocmds(search)
eq(1, #with_group)
end)
end)