Mercurial > vim
changeset 15320:de8dc397cd2a v8.1.0668
patch 8.1.0668: no test for overstrike mode in the command line
commit https://github.com/vim/vim/commit/c0676bab92bd6488e17d05a4a70dfff993ef524e
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 31 21:03:02 2018 +0100
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 https://github.com/vim/vim/issues/3742)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 31 Dec 2018 21:15:05 +0100 |
parents | 34455115ebdd |
children | baa9f456f02a |
files | src/testdir/test_cmdline.vim src/version.c |
diffstat | 2 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -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&