vim-patch:8.1.0668: no test for overstrike mode in the command line

Problem:    No test for overstrike mode in the command line.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#3742)
c0676bab92
This commit is contained in:
Jan Edmund Lazo
2019-02-17 20:06:30 -05:00
parent 67c99ec620
commit 0735893caf

View File

@@ -522,4 +522,33 @@ func Test_setcmdpos()
call assert_equal(1, setcmdpos(3)) call assert_equal(1, setcmdpos(3))
endfunc endfunc
func Test_cmdline_overstrike()
let encodings = has('multi_byte') ? [ 'utf8' ] : [ 'latin1' ]
let encoding_save = &encoding
for e in encodings
exe 'set encoding=' . e
" Test overstrike in the middle of the command line.
call feedkeys(":\"01234\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt')
call assert_equal('"0ab1cd4', @:)
" Test overstrike going beyond end of command line.
call feedkeys(":\"01234\<home>\<right>\<right>ab\<right>\<insert>cdefgh\<enter>", 'xt')
call assert_equal('"0ab1cdefgh', @:)
" Test toggling insert/overstrike a few times.
call feedkeys(":\"01234\<home>\<right>ab\<right>\<insert>cd\<right>\<insert>ef\<enter>", 'xt')
call assert_equal('"ab0cd3ef4', @:)
endfor
if has('multi_byte')
" Test overstrike with multi-byte characters.
call feedkeys(":\"テキストエディタ\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt')
call assert_equal('"テabキcdエディタ', @:)
endif
let &encoding = encoding_save
endfunc
set cpo& set cpo&