From fd14f64e26cda66b2661bafb4da1626c7d0aaad7 Mon Sep 17 00:00:00 2001 From: solawing <316786359@qq.com> Date: Fri, 29 Jan 2016 21:56:20 +0800 Subject: tests: add always complete test --- test/functional/viml/completion_spec.lua | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'test') diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index 12f542de7f..892a40fbf6 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -100,4 +100,43 @@ describe('completion', function() eq('', eval('getline(3)')) end) end) + describe('with always option', function () + before_each(function () + source([[ +function! TestCompletion(findstart, base) abort + if a:findstart + let line = getline('.') + let start = col('.') - 1 + while start > 0 && line[start - 1] =~ '\a' + let start -= 1 + endwhile + return start + else + let ret = [] + for m in split("January February March April May June July Auguest September October November December") + if m =~ a:base " match by regex + call add(ret, m) + endif + endfor + return {'words':ret, 'refresh':'always'} + endif +endfunction + +set completeopt=menuone,noselect +set completefunc=TestCompletion + ]]) + end ) + + it('should complete when add more char', function () + -- to select first word after input char: + -- work, not work. + -- but work. there may have some bugs with + feed('igu') + eq('Auguest', eval('getline(1)')) + end) + it("shouldn't break repeat", function () + feed('oJaun', '.') + eq('June', eval('getline(3)')) + end) + end) end) -- cgit