2016-01-03 23:31:24 +01:00
|
|
|
" Test that the system menu can be loaded.
|
|
|
|
|
|
2019-06-15 17:58:09 +02:00
|
|
|
source check.vim
|
|
|
|
|
CheckFeature menu
|
2017-03-04 20:41:34 +01:00
|
|
|
|
2016-01-03 23:31:24 +01:00
|
|
|
func Test_load_menu()
|
|
|
|
|
try
|
|
|
|
|
source $VIMRUNTIME/menu.vim
|
|
|
|
|
catch
|
2017-03-18 20:18:45 +01:00
|
|
|
call assert_report('error while loading menus: ' . v:exception)
|
2016-01-03 23:31:24 +01:00
|
|
|
endtry
|
2017-03-04 21:41:05 +01:00
|
|
|
call assert_match('browse confirm w', execute(':menu File.Save'))
|
2019-12-10 22:11:53 +01:00
|
|
|
|
|
|
|
|
let v:errmsg = ''
|
|
|
|
|
doautocmd LoadBufferMenu VimEnter
|
|
|
|
|
call assert_equal('', v:errmsg)
|
|
|
|
|
|
2017-03-04 20:41:34 +01:00
|
|
|
source $VIMRUNTIME/delmenu.vim
|
2019-12-10 22:11:53 +01:00
|
|
|
call assert_equal('', v:errmsg)
|
2017-03-04 20:41:34 +01:00
|
|
|
endfunc
|
|
|
|
|
|
|
|
|
|
func Test_translate_menu()
|
|
|
|
|
if !has('multi_lang')
|
|
|
|
|
return
|
|
|
|
|
endif
|
|
|
|
|
if !filereadable($VIMRUNTIME . '/lang/menu_de_de.latin1.vim')
|
|
|
|
|
throw 'Skipped: translated menu not found'
|
|
|
|
|
endif
|
|
|
|
|
|
2017-03-04 21:41:05 +01:00
|
|
|
" First delete any English menus.
|
|
|
|
|
source $VIMRUNTIME/delmenu.vim
|
2017-03-04 20:41:34 +01:00
|
|
|
set langmenu=de_de
|
|
|
|
|
source $VIMRUNTIME/menu.vim
|
2017-03-04 21:02:22 +01:00
|
|
|
call assert_match('browse confirm w', execute(':menu Datei.Speichern'))
|
2017-03-04 20:41:34 +01:00
|
|
|
|
|
|
|
|
source $VIMRUNTIME/delmenu.vim
|
2016-01-03 23:31:24 +01:00
|
|
|
endfunc
|
2018-10-19 22:36:53 +02:00
|
|
|
|
|
|
|
|
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
|
2019-12-27 17:20:55 +01:00
|
|
|
|
|
|
|
|
call feedkeys(":menu Test.FooB\<C-A>\<C-B>\"\<CR>", 'tx')
|
|
|
|
|
call assert_equal('"menu Test.FooBar', @:)
|
|
|
|
|
|
2018-10-19 22:36:53 +02:00
|
|
|
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)
|
|
|
|
|
|
2019-05-05 14:19:20 +02:00
|
|
|
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')
|
2018-10-19 22:36:53 +02:00
|
|
|
tlunmenu Test.FooBar
|
2019-05-05 14:19:20 +02:00
|
|
|
call assert_fails('emenu t Test.FooBar', 'E335: Menu not defined for Terminal mode')
|
|
|
|
|
|
|
|
|
|
aunmenu Test.FooBar
|
2018-10-19 22:36:53 +02:00
|
|
|
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
|