diff src/testdir/test_paste.vim @ 10827:e366b968bf08 v8.0.0303

patch 8.0.0303: bracketed paste does not work in Visual mode commit https://github.com/vim/vim/commit/a1891848d970452cd775d35a4bccfdd9758a690a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 4 21:34:31 2017 +0100 patch 8.0.0303: bracketed paste does not work in Visual mode Problem: Bracketed paste does not work in Visual mode. Solution: Delete the text before pasting
author Christian Brabandt <cb@256bit.org>
date Sat, 04 Feb 2017 21:45:04 +0100
parents 09eb5fd275e0
children bb789ed5113a
line wrap: on
line diff
--- a/src/testdir/test_paste.vim
+++ b/src/testdir/test_paste.vim
@@ -70,3 +70,30 @@ func Test_paste_cmdline()
   call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt')
   call assert_equal("\"afoo\<CR>barb", getreg(':'))
 endfunc
+
+func Test_paste_visual_mode()
+  new
+  call setline(1, 'here are some words')
+  call feedkeys("0fsve\<Esc>[200~more\<Esc>[201~", 'xt')
+  call assert_equal('here are more words', getline(1))
+  call assert_equal('some', getreg('-'))
+
+  " include last char in the line
+  call feedkeys("0fwve\<Esc>[200~noises\<Esc>[201~", 'xt')
+  call assert_equal('here are more noises', getline(1))
+  call assert_equal('words', getreg('-'))
+
+  " exclude last char in the line
+  call setline(1, 'some words!')
+  call feedkeys("0fwve\<Esc>[200~noises\<Esc>[201~", 'xt')
+  call assert_equal('some noises!', getline(1))
+  call assert_equal('words', getreg('-'))
+
+  " multi-line selection
+  call setline(1, ['some words', 'and more'])
+  call feedkeys("0fwvj0fd\<Esc>[200~letters\<Esc>[201~", 'xt')
+  call assert_equal('some letters more', getline(1))
+  call assert_equal("words\nand", getreg('1'))
+
+  bwipe!
+endfunc