diff src/testdir/test_menu.vim @ 14952:405309f9dd13 v8.1.0487

patch 8.1.0487: no menus specifically for the terminal window commit https://github.com/vim/vim/commit/4c5d815256099b50eca2ec5bf8f9aaa67a890211 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Oct 19 22:36:53 2018 +0200 patch 8.1.0487: no menus specifically for the terminal window Problem: No menus specifically for the terminal window. Solution: Add :tlmenu. (Yee Cheng Chin, closes https://github.com/vim/vim/issues/3439) Add a menu test.
author Bram Moolenaar <Bram@vim.org>
date Fri, 19 Oct 2018 22:45:07 +0200
parents 1c4ebbae41d2
children 822d00007b34
line wrap: on
line diff
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -30,3 +30,37 @@ func Test_translate_menu()
 
   source $VIMRUNTIME/delmenu.vim
 endfunc
+
+func Test_menu_commands()
+  nmenu 2 Test.FooBar :let g:did_menu = 'normal'<CR>
+  vmenu 2 Test.FooBar :let g:did_menu = 'visual'<CR>
+  smenu 2 Test.FooBar :let g:did_menu = 'select'<CR>
+  omenu 2 Test.FooBar :let g:did_menu = 'op-pending'<CR>
+  tlmenu 2 Test.FooBar :let g:did_menu = 'terminal'<CR>
+  imenu 2 Test.FooBar :let g:did_menu = 'insert'<CR>
+  cmenu 2 Test.FooBar :let g:did_menu = 'cmdline'<CR>
+  emenu n Test.FooBar
+  call assert_equal('normal', g:did_menu)
+  emenu v Test.FooBar
+  call assert_equal('visual', g:did_menu)
+  emenu s Test.FooBar
+  call assert_equal('select', g:did_menu)
+  emenu o Test.FooBar
+  call assert_equal('op-pending', g:did_menu)
+  emenu t Test.FooBar
+  call assert_equal('terminal', g:did_menu)
+  emenu i Test.FooBar
+  call assert_equal('insert', g:did_menu)
+  emenu c Test.FooBar
+  call assert_equal('cmdline', g:did_menu)
+
+  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>
+  call assert_fails('emenu n Test.FooBar', 'E333:')
+  nunmenu Test.FooBar.Child
+
+  unlet g:did_menu
+endfun