aboutsummaryrefslogtreecommitdiff
path: root/test/functional/viml/completion_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-02-13 15:20:13 -0500
committerJustin M. Keyes <justinkz@gmail.com>2016-02-13 15:21:28 -0500
commit7567afbbe50ad82880fdc07b90e892e7d8bb9198 (patch)
tree91432014a552fcc03625c72d189a693a675ddf0f /test/functional/viml/completion_spec.lua
parentfd14f64e26cda66b2661bafb4da1626c7d0aaad7 (diff)
downloadrneovim-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.lua66
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)