summaryrefslogtreecommitdiff
path: root/src/testdir/test_iminsert.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-20 16:05:32 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-20 16:05:32 +0200
commit845e0ee59430eac07e74b6cb92020e420d17953d (patch)
tree26060a20d77b243156cdeda2d6ae7a735469bff3 /src/testdir/test_iminsert.vim
parenta190548e9165bbae75144a3e47f01d7708b29073 (diff)
downloadvim-git-845e0ee59430eac07e74b6cb92020e420d17953d.tar.gz
patch 8.2.1022: various parts of code not covered by testsv8.2.1022
Problem: Various parts of code not covered by tests. Solution: Add more tests. (Yegappan Lakshmanan, closes #6300)
Diffstat (limited to 'src/testdir/test_iminsert.vim')
-rw-r--r--src/testdir/test_iminsert.vim28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/testdir/test_iminsert.vim b/src/testdir/test_iminsert.vim
index d49cd07cc..04c8a1599 100644
--- a/src/testdir/test_iminsert.vim
+++ b/src/testdir/test_iminsert.vim
@@ -7,7 +7,7 @@ let s:imstatus_active = 0
func IM_activatefunc(active)
let s:imactivatefunc_called = 1
-let s:imstatus_active = a:active
+ let s:imstatus_active = a:active
endfunc
func IM_statusfunc()
@@ -83,4 +83,30 @@ func Test_lmap_in_insert_mode()
close!
endfunc
+" Test for using CTRL-^ to toggle iminsert in insert mode
+func Test_iminsert_toggle()
+ CheckGui
+ if has('win32')
+ CheckFeature multi_byte_ime
+ elseif !has('gui_mac')
+ CheckFeature xim
+ endif
+ if has('gui_running') && !has('win32')
+ " this works only in Win32 GUI version (for some reason)
+ return
+ endif
+ new
+ let save_imdisable = &imdisable
+ let save_iminsert = &iminsert
+ set noimdisable
+ set iminsert=0
+ exe "normal i\<C-^>"
+ call assert_equal(2, &iminsert)
+ exe "normal i\<C-^>"
+ call assert_equal(0, &iminsert)
+ let &iminsert = save_iminsert
+ let &imdisable = save_imdisable
+ close!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab