mirror of
https://github.com/neovim/neovim.git
synced 2024-12-26 14:11:15 -07:00
53 lines
1.1 KiB
Lua
53 lines
1.1 KiB
Lua
local helpers = require('test.functional.helpers')(after_each)
|
|
local Screen = require('test.functional.ui.screen')
|
|
|
|
local clear = helpers.clear
|
|
local command = helpers.command
|
|
local feed = helpers.feed
|
|
|
|
describe("update_menu notification", function()
|
|
|
|
local screen
|
|
|
|
before_each(function()
|
|
clear()
|
|
screen = Screen.new()
|
|
screen:attach()
|
|
end)
|
|
|
|
after_each(function()
|
|
screen:detach()
|
|
end)
|
|
|
|
local function expect_sent(expected)
|
|
screen:expect{condition=function()
|
|
if screen.update_menu ~= expected then
|
|
if expected then
|
|
error('update_menu was expected but not sent')
|
|
else
|
|
error('update_menu was sent unexpectedly')
|
|
end
|
|
end
|
|
end, unchanged=(not expected)}
|
|
end
|
|
|
|
it("should be sent when adding a menu", function()
|
|
command('menu Test.Test :')
|
|
expect_sent(true)
|
|
end)
|
|
|
|
it("should be sent when deleting a menu", function()
|
|
command('menu Test.Test :')
|
|
screen.update_menu = false
|
|
|
|
command('unmenu Test.Test')
|
|
expect_sent(true)
|
|
end)
|
|
|
|
it("should not be sent unnecessarily", function()
|
|
feed('i12345<ESC>:redraw<CR>')
|
|
expect_sent(false)
|
|
end)
|
|
|
|
end)
|