changeset 27577:40d844af56a5 v8.2.4315

patch 8.2.4315: put in Visual mode not fully tested Commit: https://github.com/vim/vim/commit/6bf821e8abe1da24e5d0624f032d7eda745756e8 Author: zeertzjq <zeertzjq@outlook.com> Date: Mon Feb 7 10:33:20 2022 +0000 patch 8.2.4315: put in Visual mode not fully tested Problem: Put in Visual mode not fully tested. Solution: Add a few more test cases. (closes https://github.com/vim/vim/issues/9708)
author Bram Moolenaar <Bram@vim.org>
date Mon, 07 Feb 2022 11:45:03 +0100
parents 55ea029fa9cd
children d7cf6f67163d
files src/testdir/test_visual.vim src/version.c
diffstat 2 files changed, 42 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1369,18 +1369,52 @@ func Test_visual_paste()
   call setline(1, ['xxxx'])
   call setreg('"', 'foo')
   call setreg('-', 'bar')
-  normal 1Gvp
-  call assert_equal(@", 'x')
-  call assert_equal(@-, 'x')
+  normal gg0vp
+  call assert_equal('x', @")
+  call assert_equal('x', @-)
+  call assert_equal('fooxxx', getline(1))
+  normal $vp
+  call assert_equal('x', @")
+  call assert_equal('x', @-)
+  call assert_equal('fooxxx', getline(1))
+  " Test with a different register as unnamed register.
+  call setline(2, ['baz'])
+  normal 2gg0"rD
+  call assert_equal('baz', @")
+  normal gg0vp
+  call assert_equal('f', @")
+  call assert_equal('f', @-)
+  call assert_equal('bazooxxx', getline(1))
+  normal $vp
+  call assert_equal('x', @")
+  call assert_equal('x', @-)
+  call assert_equal('bazooxxf', getline(1))
 
   if has('clipboard')
     " v_P does not overwrite unnamed register.
     call setline(1, ['xxxx'])
     call setreg('"', 'foo')
     call setreg('-', 'bar')
-    normal 1GvP
-    call assert_equal(@", 'foo')
-    call assert_equal(@-, 'x')
+    normal gg0vP
+    call assert_equal('foo', @")
+    call assert_equal('x', @-)
+    call assert_equal('fooxxx', getline(1))
+    normal $vP
+    call assert_equal('foo', @")
+    call assert_equal('x', @-)
+    call assert_equal('fooxxfoo', getline(1))
+    " Test with a different register as unnamed register.
+    call setline(2, ['baz'])
+    normal 2gg0"rD
+    call assert_equal('baz', @")
+    normal gg0vP
+    call assert_equal('baz', @")
+    call assert_equal('f', @-)
+    call assert_equal('bazooxxfoo', getline(1))
+    normal $vP
+    call assert_equal('baz', @")
+    call assert_equal('o', @-)
+    call assert_equal('bazooxxfobaz', getline(1))
   endif
 
   bwipe!
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4315,
+/**/
     4314,
 /**/
     4313,