diff options
author | Maria José Solano <majosolano99@gmail.com> | 2023-10-26 22:53:38 -0700 |
---|---|---|
committer | Mathias Fußenegger <mfussenegger@users.noreply.github.com> | 2023-11-17 17:10:27 +0100 |
commit | 7e36c8e972f0b2e07c6186aa5dca2f70d95a77f2 (patch) | |
tree | 1e50f10ff873aa7c92f29ee4cbdb35fa42490770 /test/functional/lua/snippet_spec.lua | |
parent | ad867fee26c8124d23693823b56f849e4487b828 (diff) | |
download | rneovim-7e36c8e972f0b2e07c6186aa5dca2f70d95a77f2.tar.gz rneovim-7e36c8e972f0b2e07c6186aa5dca2f70d95a77f2.tar.bz2 rneovim-7e36c8e972f0b2e07c6186aa5dca2f70d95a77f2.zip |
feat(lsp): support for choice snippet nodes
Diffstat (limited to 'test/functional/lua/snippet_spec.lua')
-rw-r--r-- | test/functional/lua/snippet_spec.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/functional/lua/snippet_spec.lua b/test/functional/lua/snippet_spec.lua index 70337d1572..bf43d5114f 100644 --- a/test/functional/lua/snippet_spec.lua +++ b/test/functional/lua/snippet_spec.lua @@ -6,6 +6,7 @@ local exec_lua = helpers.exec_lua local feed = helpers.feed local matches = helpers.matches local pcall_err = helpers.pcall_err +local sleep = helpers.sleep describe('vim.snippet', function() before_each(function() @@ -171,4 +172,30 @@ describe('vim.snippet', function() feed('<esc>O-- A comment') eq(false, exec_lua('return vim.snippet.active()')) end) + + it('inserts choice', function () + test_success({ 'console.${1|assert,log,error|}()' }, { 'console.()' }) + sleep(100) + feed('<Down><C-y>') + eq({ 'console.log()' }, helpers.buf_lines(0)) + end) + + it('closes the choice completion menu when jumping', function () + test_success({ 'console.${1|assert,log,error|}($2)' }, { 'console.()' }) + sleep(100) + exec_lua('vim.snippet.jump(1)') + eq(0, exec_lua('return vim.fn.pumvisible()')) + end) + + it('jumps to next tabstop after inserting choice', function() + test_success( + { '${1|public,protected,private|} function ${2:name}() {', '\t$0', '}' }, + { ' function name() {', '\t', '}' } + ) + sleep(100) + feed('<C-y><Tab>') + sleep(10) + feed('foo') + eq({ 'public function foo() {', '\t', '}' }, helpers.buf_lines(0)) + end) end) |