diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-08-05 08:27:40 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-05 08:27:40 +0800 |
| commit | 37ab823e6e2c18892271f2f0a3a4f2f3e8e853f4 (patch) | |
| tree | 1e26aaa2cf72b86cd354da2f52d4eace20dd8a66 /src/nvim/testdir | |
| parent | c1e1d16fcac0daa8b5796a3a5d11271fbb89ccbb (diff) | |
| parent | 3aef2b8bdf0d451651efc452ca2a44ed2824f0ec (diff) | |
| download | rneovim-37ab823e6e2c18892271f2f0a3a4f2f3e8e853f4.tar.gz rneovim-37ab823e6e2c18892271f2f0a3a4f2f3e8e853f4.tar.bz2 rneovim-37ab823e6e2c18892271f2f0a3a4f2f3e8e853f4.zip | |
Merge pull request #19642 from zeertzjq/vim-8.2.0413
vim-patch:8.2.{0413,0478},9.0.0009: menu patches
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
| -rw-r--r-- | src/nvim/testdir/test_menu.vim | 63 |
2 files changed, 61 insertions, 3 deletions
diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 966b8ef571..a83ef50abc 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -16,7 +16,6 @@ source test_ga.vim source test_glob2regpat.vim source test_global.vim source test_lispwords.vim -source test_menu.vim source test_move.vim source test_put.vim source test_reltime.vim diff --git a/src/nvim/testdir/test_menu.vim b/src/nvim/testdir/test_menu.vim index 28db050f82..a759ab6d05 100644 --- a/src/nvim/testdir/test_menu.vim +++ b/src/nvim/testdir/test_menu.vim @@ -19,6 +19,48 @@ func Test_load_menu() call assert_equal('', v:errmsg) endfunc +func Test_buffer_menu_special_buffers() + " Load in runtime menus + try + source $VIMRUNTIME/menu.vim + catch + call assert_report('error while loading menus: ' . v:exception) + endtry + + let v:errmsg = '' + doautocmd LoadBufferMenu VimEnter + call assert_equal('', v:errmsg) + + let orig_buffer_menus = execute("nmenu Buffers") + + " Test that regular new buffer results in a new buffer menu item. + new + let new_buffer_menus = execute('nmenu Buffers') + call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(new_buffer_menus, "\n"))) + bwipe! + call assert_equal(orig_buffer_menus, execute("nmenu Buffers")) + + " Make a new command-line window, test that it does not create a new buffer + " menu. + call feedkeys("q::let cmdline_buffer_menus=execute('nmenu Buffers')\<CR>:q\<CR>", 'ntx') + call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(cmdline_buffer_menus, "\n"))) + call assert_equal(orig_buffer_menus, execute("nmenu Buffers")) + + if has('terminal') + " Open a terminal window and test that it does not create a buffer menu + " item. + terminal + let term_buffer_menus = execute('nmenu Buffers') + call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(term_buffer_menus, "\n"))) + bwipe! + call assert_equal(orig_buffer_menus, execute("nmenu Buffers")) + endif + + " Remove menus to clean up + source $VIMRUNTIME/delmenu.vim + call assert_equal('', v:errmsg) +endfunc + func Test_translate_menu() if !has('multi_lang') return @@ -120,7 +162,11 @@ endfunc " Test for menu item completion in command line func Test_menu_expand() + " Make sure we don't have stale menu items like Buffers menu. + source $VIMRUNTIME/delmenu.vim + " Create the menu itmes for test + menu Dummy.Nothing lll for i in range(1, 4) let m = 'menu Xmenu.A' .. i .. '.A' .. i for j in range(1, 4) @@ -146,7 +192,7 @@ func Test_menu_expand() " Test for <Up> to go up a menu call feedkeys(":emenu Xmenu.A\<Tab>\<Down>\<Up>\<Up>\<Up>" .. \ "\<C-A>\<C-B>\"\<CR>", 'xt') - call assert_equal('"emenu Buffers. Xmenu.', @:) + call assert_equal('"emenu Dummy. Xmenu.', @:) " Test for expanding only submenus call feedkeys(":popup Xmenu.\<C-A>\<C-B>\"\<CR>", 'xt') @@ -166,6 +212,7 @@ func Test_menu_expand() set wildmenu& unmenu Xmenu + unmenu Dummy " Test for expanding popup menus with some hidden items menu Xmenu.foo.A1 a1 @@ -175,7 +222,6 @@ func Test_menu_expand() call feedkeys(":popup Xmenu.\<C-A>\<C-B>\"\<CR>", 'xt') call assert_equal('"popup Xmenu.foo', @:) unmenu Xmenu - endfunc " Test for the menu_info() function @@ -484,4 +530,17 @@ func Test_tmenu() tunmenu Test endfunc +func Test_only_modifier() + exe "tmenu a.b \x80\xfc0" + let exp =<< trim [TEXT] + --- Menus --- + 500 a + 500 b + t - <T-2-^@> + [TEXT] + call assert_equal(exp, split(execute('tmenu'), "\n")) + + tunmenu a.b +endfunc + " vim: shiftwidth=2 sts=2 expandtab |