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