changeset 10972:488cda29455b v8.0.0375

patch 8.0.0375: the "+ register is not tested commit https://github.com/vim/vim/commit/5074a0e0333eaa6a9f697eb765124ca0e244c89b Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 26 15:08:21 2017 +0100 patch 8.0.0375: the "+ register is not tested Problem: The "+ register is not tested. Solution: Add a test using another Vim instance to change the "+ register. (Kazuki Kuriyama)
author Christian Brabandt <cb@256bit.org>
date Sun, 26 Feb 2017 15:15:04 +0100
parents a53e4f26c2a2
children 00caec82ffc8
files src/testdir/test_gui.vim src/version.c
diffstat 2 files changed, 43 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -72,6 +72,47 @@ func Test_getfontname_without_arg()
   endif
 endfunc
 
+func Test_quoteplus()
+  let skipped = ''
+
+  if !g:x11_based_gui
+    let skipped = g:not_supported . 'quoteplus'
+  else
+    let quoteplus_saved = @+
+
+    let test_call     = 'Can you hear me?'
+    let test_response = 'Yes, I can.'
+    let vim_exe = exepath(v:progpath)
+    let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;'
+          \ . vim_exe . ' -f -g -u NONE -U NONE --noplugin -c ''%s'''
+    let cmd = 'call feedkeys("'
+          \ . '\"+p'
+          \ . ':s/' . test_call . '/' . test_response . '/\<CR>'
+          \ . '\"+yis'
+          \ . ':q!\<CR>", "tx")'
+    let run_vimtest = printf(testee, cmd)
+
+    " Set the quoteplus register to test_call, and another gvim will launched.
+    " Then, it first tries to paste the content of its own quotedplus register
+    " onto it.  Second, it tries to substitute test_responce for the pasted
+    " sentence.  If the sentence is identical to test_call, the substitution
+    " should succeed.  Third, it tries to yank the result of the substitution
+    " to its own quoteplus register, and last it quits.  When system()
+    " returns, the content of the quoteplus register should be identical to
+    " test_response if those quoteplus registers are synchronized properly
+    " with/through the X11 clipboard.
+    let @+ = test_call
+    call system(run_vimtest)
+    call assert_equal(test_response, @+)
+
+    let @+ = quoteplus_saved
+  endif
+
+  if !empty(skipped)
+    throw skipped
+  endif
+endfunc
+
 func Test_set_guifont()
   let skipped = ''
 
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    375,
+/**/
     374,
 /**/
     373,