summaryrefslogtreecommitdiff
path: root/src/testdir/test_virtualedit.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-28 19:26:28 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-28 19:26:28 +0200
commit630afe889a2a02b367ea8eaaa48e66ed81e77ff3 (patch)
treeb842a80b4031b81954a44a68d8e7064722b60e26 /src/testdir/test_virtualedit.vim
parentd8b37a53bd29cab78c6997aa75207385213f23e2 (diff)
downloadvim-git-630afe889a2a02b367ea8eaaa48e66ed81e77ff3.tar.gz
patch 8.1.0125: virtual edit replace with multi-byte fails at end of linev8.1.0125
Problem: Virtual edit replace with multi-byte fails at end of line. (Lukas Werling) Solution: use ins_char() to add the character. (Christian Brabandt, closes #3114) Rename PCHAR() to PBYTE() to avoid mistakes like this.
Diffstat (limited to 'src/testdir/test_virtualedit.vim')
-rw-r--r--src/testdir/test_virtualedit.vim16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_virtualedit.vim b/src/testdir/test_virtualedit.vim
index d49025237..abe79f6a4 100644
--- a/src/testdir/test_virtualedit.vim
+++ b/src/testdir/test_virtualedit.vim
@@ -42,6 +42,22 @@ func Test_paste_end_of_line()
set virtualedit=
endfunc
+func Test_replace_end_of_line()
+ new
+ set virtualedit=all
+ call setline(1, range(20))
+ exe "normal! gg2jv10lr-"
+ call assert_equal(["1", "-----------", "3"], getline(2,4))
+ if has('multi_byte')
+ call setline(1, range(20))
+ exe "normal! gg2jv10lr\<c-k>hh"
+ call assert_equal(["1", "───────────", "3"], getline(2,4))
+ endif
+
+ bwipe!
+ set virtualedit=
+endfunc
+
func Test_edit_CTRL_G()
new
set virtualedit=insert