aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-06-30 20:02:13 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-07-01 10:17:39 +0800
commit236947ab20b82417eb4f3f69dd46740f299b7fdf (patch)
tree3f20aa27e82f0cbd2696ac94e25d793352a568c7 /src/nvim/testdir
parentd81d8d454a151c60f4281c904e387661712b7984 (diff)
downloadrneovim-236947ab20b82417eb4f3f69dd46740f299b7fdf.tar.gz
rneovim-236947ab20b82417eb4f3f69dd46740f299b7fdf.tar.bz2
rneovim-236947ab20b82417eb4f3f69dd46740f299b7fdf.zip
vim-patch:8.1.1274: after :unmenu can still execute the menu with :emenu
Problem: After :unmenu can still execute the menu with :emenu. Solution: Do not execute a menu that was disabled for the specified mode. https://github.com/vim/vim/commit/ce79353ace9e21238f13655089363cd23cbb6b32
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_menu.vim17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_menu.vim b/src/nvim/testdir/test_menu.vim
index 8ce6868267..eb25e41990 100644
--- a/src/nvim/testdir/test_menu.vim
+++ b/src/nvim/testdir/test_menu.vim
@@ -60,8 +60,23 @@ func Test_menu_commands()
emenu c Test.FooBar
call assert_equal('cmdline', g:did_menu)
- aunmenu Test.FooBar
+ nunmenu Test.FooBar
+ call assert_fails('emenu n Test.FooBar', 'E335: Menu not defined for Normal mode')
+ vunmenu Test.FooBar
+ call assert_fails('emenu v Test.FooBar', 'E335: Menu not defined for Visual mode')
+ vmenu 2 Test.FooBar :let g:did_menu = 'visual'<CR>
+ sunmenu Test.FooBar
+ call assert_fails('emenu s Test.FooBar', 'E335: Menu not defined for Select mode')
+ ounmenu Test.FooBar
+ call assert_fails('emenu o Test.FooBar', 'E335: Menu not defined for Op-pending mode')
+ iunmenu Test.FooBar
+ call assert_fails('emenu i Test.FooBar', 'E335: Menu not defined for Insert mode')
+ cunmenu Test.FooBar
+ call assert_fails('emenu c Test.FooBar', 'E335: Menu not defined for Cmdline mode')
tlunmenu Test.FooBar
+ call assert_fails('emenu t Test.FooBar', 'E335: Menu not defined for Terminal mode')
+
+ aunmenu Test.FooBar
call assert_fails('emenu n Test.FooBar', 'E334:')
nmenu 2 Test.FooBar.Child :let g:did_menu = 'foobar'<CR>