mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
test: menu_spec: avoid screen test.
Redraw can be flaky especially when remote commands happen during command-mode. Assert the state directly instead of using Screen.
This commit is contained in:
parent
8cfcf01475
commit
5a9b2fc1ae
@ -1,9 +1,7 @@
|
|||||||
local helpers = require('test.functional.helpers')
|
local helpers = require('test.functional.helpers')
|
||||||
local Screen = require('test.functional.ui.screen').new(40,4)
|
|
||||||
local clear, execute, nvim = helpers.clear, helpers.execute, helpers.nvim
|
local clear, execute, nvim = helpers.clear, helpers.execute, helpers.nvim
|
||||||
local expect = helpers.expect
|
local expect, feed, command = helpers.expect, helpers.feed, helpers.command
|
||||||
local feed = helpers.feed
|
local eq, eval = helpers.eq, helpers.eval
|
||||||
local command = helpers.command
|
|
||||||
|
|
||||||
describe(':emenu', function()
|
describe(':emenu', function()
|
||||||
|
|
||||||
@ -12,6 +10,10 @@ describe(':emenu', function()
|
|||||||
execute('nnoremenu Test.Test inormal<ESC>')
|
execute('nnoremenu Test.Test inormal<ESC>')
|
||||||
execute('inoremenu Test.Test insert')
|
execute('inoremenu Test.Test insert')
|
||||||
execute('vnoremenu Test.Test x')
|
execute('vnoremenu Test.Test x')
|
||||||
|
execute('cnoremenu Test.Test cmdmode')
|
||||||
|
|
||||||
|
execute('nnoremenu Edit.Paste p')
|
||||||
|
execute('cnoremenu Edit.Paste <C-R>"')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('executes correct bindings in normal mode without using API', function()
|
it('executes correct bindings in normal mode without using API', function()
|
||||||
@ -36,26 +38,21 @@ describe(':emenu', function()
|
|||||||
expect('ae')
|
expect('ae')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
end)
|
it('executes correct bindings in command mode', function()
|
||||||
|
feed('ithis is a sentence<esc>^"+yiwo<esc>')
|
||||||
|
|
||||||
describe('emenu Edit.Paste while in commandline', function()
|
-- Invoke "Edit.Paste" in normal-mode.
|
||||||
before_each(function()
|
nvim('command', 'emenu Edit.Paste')
|
||||||
clear()
|
|
||||||
screen = Screen.new(40, 4)
|
|
||||||
screen:attach()
|
|
||||||
end)
|
|
||||||
|
|
||||||
it('ok', function()
|
-- Invoke "Edit.Paste" and "Test.Test" in command-mode.
|
||||||
nvim('command', 'runtime menu.vim')
|
feed(':')
|
||||||
feed('ithis is a sentence<esc>^"+yiwo<esc>')
|
nvim('command', 'emenu Edit.Paste')
|
||||||
nvim('command', 'emenu Edit.Paste')
|
nvim('command', 'emenu Test.Test')
|
||||||
feed(':')
|
|
||||||
nvim('command', 'emenu Edit.Paste')
|
expect([[
|
||||||
screen:expect([[
|
this is a sentence
|
||||||
this is a sentence |
|
this]])
|
||||||
this |
|
-- Assert that Edit.Paste pasted @" into the commandline.
|
||||||
~ |
|
eq('thiscmdmode', eval('getcmdline()'))
|
||||||
:this^ |
|
end)
|
||||||
]])
|
|
||||||
end)
|
|
||||||
end)
|
end)
|
||||||
|
Loading…
Reference in New Issue
Block a user