diff src/testdir/test_virtualedit.vim @ 18771:50fde4e20790 v8.1.2375

patch 8.1.2375: no suffucient testing for registers Commit: https://github.com/vim/vim/commit/6f1f0ca3edf395102ff3109c998d81300c8be3c9 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Dec 1 18:16:18 2019 +0100 patch 8.1.2375: no suffucient testing for registers Problem: No suffucient testing for registers. Solution: Add more test cases. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5296) Fix that "p" on last virtual column of tab inserts spaces.
author Bram Moolenaar <Bram@vim.org>
date Sun, 01 Dec 2019 18:30:03 +0100
parents 26256dcadd77
children 7b57a80f70f6
line wrap: on
line diff
--- a/src/testdir/test_virtualedit.vim
+++ b/src/testdir/test_virtualedit.vim
@@ -81,4 +81,46 @@ func Test_edit_change()
   normal Cx
   call assert_equal('x', getline(1))
   bwipe!
+  set virtualedit=
 endfunc
+
+" Test for pasting before and after a tab character
+func Test_paste_in_tab()
+  new
+  let @" = 'xyz'
+  set virtualedit=all
+  call append(0, "a\tb")
+  call cursor(1, 2, 6)
+  normal p
+  call assert_equal("a\txyzb", getline(1))
+  call setline(1, "a\tb")
+  call cursor(1, 2)
+  normal P
+  call assert_equal("axyz\tb", getline(1))
+
+  " Test for virtual block paste
+  call setreg('"', 'xyz', 'b')
+  call setline(1, "a\tb")
+  call cursor(1, 2, 6)
+  normal p
+  call assert_equal("a\txyzb", getline(1))
+  call setline(1, "a\tb")
+  call cursor(1, 2, 6)
+  normal P
+  call assert_equal("a      xyz b", getline(1))
+
+  " Test for virtual block paste with gp and gP
+  call setline(1, "a\tb")
+  call cursor(1, 2, 6)
+  normal gp
+  call assert_equal("a\txyzb", getline(1))
+  call assert_equal([0, 1, 6, 0, 12], getcurpos())
+  call setline(1, "a\tb")
+  call cursor(1, 2, 6)
+  normal gP
+  call assert_equal("a      xyz b", getline(1))
+  call assert_equal([0, 1, 12, 0 ,12], getcurpos())
+
+  bwipe!
+  set virtualedit=
+endfunc