From 0735893caf90b85c7304659a0c8a02706d5a745c Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 17 Feb 2019 20:06:30 -0500 Subject: 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) https://github.com/vim/vim/commit/c0676bab92bd6488e17d05a4a70dfff993ef524e --- src/nvim/testdir/test_cmdline.vim | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src') diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 26f1dcc333..75832a798c 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -522,4 +522,33 @@ func Test_setcmdpos() call assert_equal(1, setcmdpos(3)) 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\\\ab\\cd\", 'xt') + call assert_equal('"0ab1cd4', @:) + + " Test overstrike going beyond end of command line. + call feedkeys(":\"01234\\\ab\\cdefgh\", 'xt') + call assert_equal('"0ab1cdefgh', @:) + + " Test toggling insert/overstrike a few times. + call feedkeys(":\"01234\\ab\\cd\\ef\", 'xt') + call assert_equal('"ab0cd3ef4', @:) + endfor + + if has('multi_byte') + " Test overstrike with multi-byte characters. + call feedkeys(":\"テキストエディタ\\\ab\\cd\", 'xt') + call assert_equal('"テabキcdエディタ', @:) + endif + + let &encoding = encoding_save +endfunc + set cpo& -- cgit