Fix cmdline confirmation
This commit is contained in:
39
lua/cmp/utils/api_spec.lua
Normal file
39
lua/cmp/utils/api_spec.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
local spec = require('cmp.utils.spec')
|
||||
local keymap = require('cmp.utils.keymap')
|
||||
local feedkeys = require('cmp.utils.feedkeys')
|
||||
local api = require('cmp.utils.api')
|
||||
|
||||
describe('api', function()
|
||||
describe('get_cursor', function()
|
||||
before_each(spec.before)
|
||||
it('insert-mode', function()
|
||||
feedkeys.call(keymap.t('i\t1234567890'), 'n', function()
|
||||
assert.are.same(api.get_cursor()[2], 10)
|
||||
end)
|
||||
feedkeys.call('', 'nx')
|
||||
end)
|
||||
it('cmdline-mode', function()
|
||||
feedkeys.call(keymap.t(':\t1234567890'), 'n', function()
|
||||
assert.are.same(api.get_cursor()[2], 10)
|
||||
end)
|
||||
feedkeys.call('', 'nx')
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('get_cursor_before_line', function()
|
||||
before_each(spec.before)
|
||||
it('insert-mode', function()
|
||||
feedkeys.call(keymap.t(':\t1234567890<Left><Left>'), 'n', function()
|
||||
assert.are.same(api.get_cursor_before_line(), '\t12345678')
|
||||
end)
|
||||
feedkeys.call('', 'nx')
|
||||
end)
|
||||
it('cmdline-mode', function()
|
||||
feedkeys.call(keymap.t(':\t1234567890<Left><Left>'), 'n', function()
|
||||
assert.are.same(api.get_cursor_before_line(), '\t12345678')
|
||||
end)
|
||||
feedkeys.call('', 'nx')
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -21,7 +21,7 @@ feedkeys.call = setmetatable({
|
||||
table.insert(queue, { keymap.t('<Cmd>set %slazyredraw<CR>'):format(vim.o.lazyredraw and '' or 'no'), 'n' })
|
||||
table.insert(queue, { keymap.t('<Cmd>set eventignore=%s<CR>'):format(vim.o.eventignore or ''), 'n' })
|
||||
end
|
||||
if #keys > 0 or callback then
|
||||
if callback then
|
||||
local id = misc.id('cmp.utils.feedkeys.call')
|
||||
self.callbacks[id] = function()
|
||||
if callback then
|
||||
|
||||
@@ -7,17 +7,9 @@ describe('feedkeys', function()
|
||||
before_each(spec.before)
|
||||
|
||||
it('dot-repeat', function()
|
||||
feedkeys.call(keymap.t('iaiueo<Esc>'), 'nx')
|
||||
assert.are.equal(vim.fn.getreg('.'), keymap.t('aiueo'))
|
||||
end)
|
||||
it('macro', function()
|
||||
vim.fn.setreg('q', '')
|
||||
vim.cmd([[normal! qq]])
|
||||
feedkeys.call(keymap.t('iaiueo'), 'nt')
|
||||
feedkeys.call(keymap.t('<Esc>'), 'nt', function()
|
||||
vim.cmd([[normal! q]])
|
||||
assert.are.equal(vim.fn.getreg('q'), keymap.t('iaiueo<Esc>'))
|
||||
print(vim.fn.getreg('q'))
|
||||
feedkeys.call(keymap.t('iaiueo<Esc>'), 'n', function()
|
||||
assert.are.equal(vim.fn.getreg('.'), keymap.t('aiueo'))
|
||||
end)
|
||||
feedkeys.call('', 'nx')
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -62,6 +62,7 @@ describe('keymap', function()
|
||||
end)
|
||||
end)
|
||||
describe('realworld', function()
|
||||
before_each(spec.before)
|
||||
it('#226', function()
|
||||
keymap.listen('i', '<c-n>', function(_, fallback)
|
||||
fallback()
|
||||
|
||||
@@ -8,9 +8,21 @@ spec.before = function()
|
||||
vim.cmd([[
|
||||
bdelete!
|
||||
enew!
|
||||
imapclear
|
||||
imapclear <buffer>
|
||||
cmapclear
|
||||
cmapclear <buffer>
|
||||
smapclear
|
||||
smapclear <buffer>
|
||||
xmapclear
|
||||
xmapclear <buffer>
|
||||
tmapclear
|
||||
tmapclear <buffer>
|
||||
setlocal noswapfile
|
||||
setlocal virtualedit=all
|
||||
setlocal completeopt=menu,menuone,noselect
|
||||
]])
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<Esc>', true, true, true), 'x', true)
|
||||
end
|
||||
|
||||
spec.state = function(text, row, col)
|
||||
|
||||
Reference in New Issue
Block a user