diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-02-13 15:20:13 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-02-13 15:21:28 -0500 |
commit | 7567afbbe50ad82880fdc07b90e892e7d8bb9198 (patch) | |
tree | 91432014a552fcc03625c72d189a693a675ddf0f /test/functional/viml/completion_spec.lua | |
parent | fd14f64e26cda66b2661bafb4da1626c7d0aaad7 (diff) | |
download | rneovim-7567afbbe50ad82880fdc07b90e892e7d8bb9198.tar.gz rneovim-7567afbbe50ad82880fdc07b90e892e7d8bb9198.tar.bz2 rneovim-7567afbbe50ad82880fdc07b90e892e7d8bb9198.zip |
test: completion_spec: minor edits
Diffstat (limited to 'test/functional/viml/completion_spec.lua')
-rw-r--r-- | test/functional/viml/completion_spec.lua | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index 892a40fbf6..4bb9707cda 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers') local clear, feed = helpers.clear, helpers.feed local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq -local execute, source = helpers.execute, helpers.source +local execute, source, expect = helpers.execute, helpers.source, helpers.expect describe('completion', function() before_each(function() @@ -100,43 +100,45 @@ describe('completion', function() eq('', eval('getline(3)')) end) end) - describe('with always option', function () - before_each(function () + + describe("refresh:always", 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 + 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 August 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 + set completeopt=menuone,noselect + set completefunc=TestCompletion ]]) end ) - it('should complete when add more char', function () - -- to select first word after input char: - -- <Down><C-y> work, <C-n> not work. - -- but <C-n><C-n>work. there may have some bugs with <C-n> - feed('i<C-x><C-u>gu<Down><C-y><ESC>') - eq('Auguest', eval('getline(1)')) + it('completes on each input char', function () + feed('i<C-x><C-u>gu<Down><C-y>') + expect('August') end) - it("shouldn't break repeat", function () - feed('o<C-x><C-u>Ja<BS>un<Down><C-y><ESC>', '.') - eq('June', eval('getline(3)')) + it("repeats correctly after backspace #2674", function () + feed('o<C-x><C-u>Ja<BS><C-n><C-n><Esc>') + feed('.') + expect([[ + + June + June]]) end) end) end) |