neovim/test/functional/legacy/076_completefunc_spec.lua
ZyX ff470bb853 functests: Check logs in lua code
It is otherwise impossible to determine which test failed sanitizer/valgrind
check. test/functional/helpers.lua module return was changed so that tests which
do not provide after_each function to get new check will automatically fail.
2016-06-10 21:50:49 +03:00

69 lines
1.6 KiB
Lua

-- Tests for completefunc/omnifunc.
local helpers = require('test.functional.helpers')(after_each)
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, expect, execute = helpers.clear, helpers.expect, helpers.execute
describe('completefunc', function()
setup(clear)
it('is working', function()
insert([=[
+++
one
two
three]=])
-- Test that nothing happens if the 'completefunc' opens
-- a new window (no completion, no crash).
source([=[
function! DummyCompleteOne(findstart, base)
if a:findstart
return 0
else
wincmd n
return ['onedef', 'oneDEF']
endif
endfunction
setlocal completefunc=DummyCompleteOne
/^one
]=])
feed('A<C-X><C-U><C-N><esc>')
execute('q!')
source([=[
function! DummyCompleteTwo(findstart, base)
if a:findstart
wincmd n
return 0
else
return ['twodef', 'twoDEF']
endif
endfunction
setlocal completefunc=DummyCompleteTwo
/^two
]=])
feed('A<C-X><C-U><C-N><esc>')
execute('q!')
-- Test that 'completefunc' works when it's OK.
source([=[
function! DummyCompleteThree(findstart, base)
if a:findstart
return 0
else
return ['threedef', 'threeDEF']
endif
endfunction
setlocal completefunc=DummyCompleteThree
/^three
]=])
feed('A<C-X><C-U><C-N><esc>')
-- Assert buffer contents.
expect([=[
+++
two
threeDEF]=])
end)
end)