diff options
Diffstat (limited to 'test/functional/viml/completion_spec.lua')
-rw-r--r-- | test/functional/viml/completion_spec.lua | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index df4018e707..2a02dd9cf0 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -3,12 +3,12 @@ local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute local eval, eq, neq = helpers.eval, helpers.eq, helpers.neq local execute, source = helpers.execute, helpers.source -describe("completion", function() +describe('completion', function() before_each(function() clear() end) - describe("v:completed_item", function() + describe('v:completed_item', function() it('returns expected dict in normal completion', function() feed('ifoo<ESC>o<C-x><C-n><ESC>') eq('foo', eval('getline(2)')) @@ -53,4 +53,26 @@ describe("completion", function() eval('v:completed_item')) end) end) + describe('completeopt', function() + it('inserts the first candidate if default', function() + execute('set completeopt+=menuone') + feed('ifoo<ESC>o<C-x><C-n>bar<ESC>') + eq('foobar', eval('getline(2)')) + end) + it('selects the first candidate if noinsert', function() + execute('set completeopt+=menuone,noinsert') + feed('ifoo<ESC>o<C-x><C-n><C-y><ESC>') + eq('foo', eval('getline(2)')) + end) + it('does not insert the first candidate if noselect', function() + execute('set completeopt+=menuone,noselect') + feed('ifoo<ESC>o<C-x><C-n>bar<ESC>') + eq('bar', eval('getline(2)')) + end) + it('does not select/insert the first candidate if noselect and noinsert', function() + execute('set completeopt+=menuone,noselect,noinsert') + feed('ifoo<ESC>o<C-x><C-n><ESC>') + eq('', eval('getline(2)')) + end) + end) end) |