0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

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 #3742)
This commit is contained in:
Bram Moolenaar 2018-12-31 21:03:02 +01:00
parent 2f21fa8743
commit c0676bab92
2 changed files with 31 additions and 0 deletions

View File

@ -581,4 +581,33 @@ func Test_setcmdpos()
call assert_equal(1, setcmdpos(3))
endfunc
func Test_cmdline_overstrike()
let encodings = has('multi_byte') ? [ 'latin1', '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&

View File

@ -799,6 +799,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
668,
/**/
667,
/**/