diff src/testdir/test_menu.vim @ 16541:822d00007b34 v8.1.1274

patch 8.1.1274: after :unmenu can still execute the menu with :emenu commit https://github.com/vim/vim/commit/ce79353ace9e21238f13655089363cd23cbb6b32 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 5 14:19:20 2019 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Sun, 05 May 2019 14:30:05 +0200
parents 405309f9dd13
children f38fcbf343ce
line wrap: on
line diff
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -54,8 +54,23 @@ func Test_menu_commands()
   emenu c Test.FooBar
   call assert_equal('cmdline', g:did_menu)
 
+  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
-  tlunmenu Test.FooBar
   call assert_fails('emenu n Test.FooBar', 'E334:')
 
   nmenu 2 Test.FooBar.Child :let g:did_menu = 'foobar'<CR>