diff options
Diffstat (limited to 'test/functional/viml/completion_spec.lua')
-rw-r--r-- | test/functional/viml/completion_spec.lua | 145 |
1 files changed, 72 insertions, 73 deletions
diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index 93d3909568..c14f7fc1a6 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -975,90 +975,89 @@ describe('ui/ext_popupmenu', function() end) end) - describe('TextChangeP autocommand', function() - it('can trigger TextChangedP autocommand as expected', - function() - curbufmeths.set_lines(0, 1, false, { 'foo', 'bar', 'foobar'}) - command('set complete=. completeopt=menuone') - command('let g:foo = []') - command('autocmd! TextChanged * :call add(g:foo, "N")') - command('autocmd! TextChangedI * :call add(g:foo, "I")') - command('autocmd! TextChangedP * :call add(g:foo, "P")') - command('call cursor(3, 1)') + it('TextChangedP autocommand', function() + curbufmeths.set_lines(0, 1, false, { 'foo', 'bar', 'foobar'}) + source([[ + set complete=. completeopt=menuone + let g:foo = [] + autocmd! TextChanged * :call add(g:foo, "N") + autocmd! TextChangedI * :call add(g:foo, "I") + autocmd! TextChangedP * :call add(g:foo, "P") + call cursor(3, 1) + ]]) - command('let g:foo = []') - feed('o') - wait() - feed('<esc>') - assert.same({'I'}, eval('g:foo')) + command('let g:foo = []') + feed('o') + wait() + feed('<esc>') + eq({'I'}, eval('g:foo')) - command('let g:foo = []') - feed('S') - wait() - feed('f') - wait() - assert.same({'I', 'I'}, eval('g:foo')) - feed('<esc>') + command('let g:foo = []') + feed('S') + wait() + feed('f') + wait() + eq({'I', 'I'}, eval('g:foo')) + feed('<esc>') - command('let g:foo = []') - feed('S') - wait() - feed('f') - wait() - feed('<C-n>') - wait() - assert.same({'I', 'I', 'P'}, eval('g:foo')) - feed('<esc>') + command('let g:foo = []') + feed('S') + wait() + feed('f') + wait() + feed('<C-N>') + wait() + eq({'I', 'I', 'P'}, eval('g:foo')) + feed('<esc>') - command('let g:foo = []') - feed('S') - wait() - feed('f') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - wait() - assert.same({'I', 'I', 'P', 'P'}, eval('g:foo')) - feed('<esc>') + command('let g:foo = []') + feed('S') + wait() + feed('f') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + wait() + eq({'I', 'I', 'P', 'P'}, eval('g:foo')) + feed('<esc>') - command('let g:foo = []') - feed('S') - wait() - feed('f') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - wait() - assert.same({'I', 'I', 'P', 'P', 'P'}, eval('g:foo')) - feed('<esc>') + command('let g:foo = []') + feed('S') + wait() + feed('f') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + wait() + eq({'I', 'I', 'P', 'P', 'P'}, eval('g:foo')) + feed('<esc>') - command('let g:foo = []') - feed('S') - wait() - feed('f') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - wait() - feed('<C-n>') - assert.same({'I', 'I', 'P', 'P', 'P', 'P'}, eval('g:foo')) - feed('<esc>') + command('let g:foo = []') + feed('S') + wait() + feed('f') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + wait() + feed('<C-N>') + eq({'I', 'I', 'P', 'P', 'P', 'P'}, eval('g:foo')) + feed('<esc>') - assert.same({'foo', 'bar', 'foobar', 'foo'}, eval('getline(1, "$")')) + eq({'foo', 'bar', 'foobar', 'foo'}, eval('getline(1, "$")')) - source([[ + source([[ au! TextChanged au! TextChangedI au! TextChangedP set complete&vim completeopt&vim - ]]) - end) + ]]) end) end) |