neovim/test/functional/autocmd/completedone_spec.lua
dundargoc 07db909eb5
docs: misc (#31138)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2024-11-21 06:50:30 +08:00

42 lines
1.0 KiB
Lua

local t = require('test.testutil')
local n = require('test.functional.testnvim')()
local clear = n.clear
local command = n.command
local call = n.call
local feed = n.feed
local eval = n.eval
local eq = t.eq
describe('CompleteDone', function()
before_each(clear)
describe('sets v:event.reason', function()
before_each(function()
clear()
command('autocmd CompleteDone * let g:donereason = v:event.reason')
feed('i')
call('complete', call('col', '.'), { 'foo', 'bar' })
end)
it('accept', function()
feed('<C-y>')
eq('accept', eval('g:donereason'))
end)
describe('cancel', function()
it('on <C-e>', function()
feed('<C-e>')
eq('cancel', eval('g:donereason'))
end)
it('on non-keyword character', function()
feed('<Esc>')
eq('cancel', eval('g:donereason'))
end)
it('when overridden by another complete()', function()
call('complete', call('col', '.'), { 'bar', 'baz' })
eq('cancel', eval('g:donereason'))
end)
end)
end)
end)