1" Test that the system menu can be loaded. 2 3source check.vim 4CheckFeature menu 5 6func Test_load_menu() 7 try 8 source $VIMRUNTIME/menu.vim 9 catch 10 call assert_report('error while loading menus: ' . v:exception) 11 endtry 12 call assert_match('browse confirm w', execute(':menu File.Save')) 13 source $VIMRUNTIME/delmenu.vim 14endfunc 15 16func Test_translate_menu() 17 if !has('multi_lang') 18 return 19 endif 20 if !filereadable($VIMRUNTIME . '/lang/menu_de_de.latin1.vim') 21 throw 'Skipped: translated menu not found' 22 endif 23 24 " First delete any English menus. 25 source $VIMRUNTIME/delmenu.vim 26 set langmenu=de_de 27 source $VIMRUNTIME/menu.vim 28 call assert_match('browse confirm w', execute(':menu Datei.Speichern')) 29 30 source $VIMRUNTIME/delmenu.vim 31endfunc 32 33func Test_menu_commands() 34 nmenu 2 Test.FooBar :let g:did_menu = 'normal'<CR> 35 vmenu 2 Test.FooBar :let g:did_menu = 'visual'<CR> 36 smenu 2 Test.FooBar :let g:did_menu = 'select'<CR> 37 omenu 2 Test.FooBar :let g:did_menu = 'op-pending'<CR> 38 tlmenu 2 Test.FooBar :let g:did_menu = 'terminal'<CR> 39 imenu 2 Test.FooBar :let g:did_menu = 'insert'<CR> 40 cmenu 2 Test.FooBar :let g:did_menu = 'cmdline'<CR> 41 emenu n Test.FooBar 42 call assert_equal('normal', g:did_menu) 43 emenu v Test.FooBar 44 call assert_equal('visual', g:did_menu) 45 emenu s Test.FooBar 46 call assert_equal('select', g:did_menu) 47 emenu o Test.FooBar 48 call assert_equal('op-pending', g:did_menu) 49 emenu t Test.FooBar 50 call assert_equal('terminal', g:did_menu) 51 emenu i Test.FooBar 52 call assert_equal('insert', g:did_menu) 53 emenu c Test.FooBar 54 call assert_equal('cmdline', g:did_menu) 55 56 nunmenu Test.FooBar 57 call assert_fails('emenu n Test.FooBar', 'E335: Menu not defined for Normal mode') 58 vunmenu Test.FooBar 59 call assert_fails('emenu v Test.FooBar', 'E335: Menu not defined for Visual mode') 60 vmenu 2 Test.FooBar :let g:did_menu = 'visual'<CR> 61 sunmenu Test.FooBar 62 call assert_fails('emenu s Test.FooBar', 'E335: Menu not defined for Select mode') 63 ounmenu Test.FooBar 64 call assert_fails('emenu o Test.FooBar', 'E335: Menu not defined for Op-pending mode') 65 iunmenu Test.FooBar 66 call assert_fails('emenu i Test.FooBar', 'E335: Menu not defined for Insert mode') 67 cunmenu Test.FooBar 68 call assert_fails('emenu c Test.FooBar', 'E335: Menu not defined for Cmdline mode') 69 tlunmenu Test.FooBar 70 call assert_fails('emenu t Test.FooBar', 'E335: Menu not defined for Terminal mode') 71 72 aunmenu Test.FooBar 73 call assert_fails('emenu n Test.FooBar', 'E334:') 74 75 nmenu 2 Test.FooBar.Child :let g:did_menu = 'foobar'<CR> 76 call assert_fails('emenu n Test.FooBar', 'E333:') 77 nunmenu Test.FooBar.Child 78 79 unlet g:did_menu 80endfun 81