Patch 8.0.0489
Problem:    Clipboard and "* register is not tested.
Solution:   Add a test for Mac and X11. (Kazunobu Kuriyama)
Files:      src/Makefile, src/testdir/Make_all.mak,
            src/testdir/test_quotestar.vim, src/testdir/runtest.vim


*** ../vim-8.0.0488/src/Makefile        2017-03-18 16:18:25.099693814 +0100
--- src/Makefile        2017-03-19 14:32:03.788320557 +0100
***************
*** 2185,2190 ****
--- 2184,2190 ----
        test_pyx2 \
        test_pyx3 \
        test_quickfix \
+       test_quotestar \
        test_recover \
        test_regexp_latin \
        test_regexp_utf8 \
*** ../vim-8.0.0488/src/testdir/Make_all.mak    2017-03-19 16:09:41.157653918 
+0100
--- src/testdir/Make_all.mak    2017-03-19 19:59:31.144621542 +0100
***************
*** 194,199 ****
--- 194,200 ----
            test_pyx2.res \
            test_pyx3.res \
            test_quickfix.res \
+           test_quotestar.res \
            test_retab.res \
            test_ruby.res \
            test_search.res \
*** ../vim-8.0.0488/src/testdir/test_quotestar.vim      2017-03-19 
20:03:29.302891676 +0100
--- src/testdir/test_quotestar.vim      2017-03-19 19:31:31.808815319 +0100
***************
*** 0 ****
--- 1,139 ----
+ " *-register (quotestar) tests
+ 
+ if !has('clipboard')
+   finish
+ endif
+ 
+ source shared.vim
+ 
+ let s:where = 0
+ func Abort(id)
+   call assert_report('Test timed out at ' . s:where)
+   call FinishTesting()
+ endfunc
+ 
+ func Do_test_quotestar_for_macunix()
+   if empty(exepath('pbcopy')) || empty(exepath('pbpaste'))
+     return 'Test requires pbcopy(1) and pbpaste(1)'
+   endif
+ 
+   let @* = ''
+ 
+   " Test #1: Pasteboard to Vim
+   let test_msg = "text from pasteboard to vim via quotestar"
+   " Write a piece of text to the pasteboard.
+   call system('/bin/echo -n "' . test_msg . '" | pbcopy')
+   " See if the *-register is changed as expected.
+   call assert_equal(test_msg, @*)
+ 
+   " Test #2: Vim to Pasteboard
+   let test_msg = "text from vim to pasteboard via quotestar"
+   " Write a piece of text to the *-register.
+   let @* = test_msg
+   " See if the pasteboard is changed as expected.
+   call assert_equal(test_msg, system('pbpaste'))
+ 
+   return ''
+ endfunc
+ 
+ func Do_test_quotestar_for_x11()
+   if !has('clientserver') || !has('job')
+     return 'Test requires the client-server and job features'
+   endif
+ 
+   let cmd = GetVimCommand()
+   if cmd == ''
+     return 'GetVimCommand() failed'
+   endif
+ 
+   " Some of these commands may hang when failing.
+   call timer_start(10000, 'Abort')
+ 
+   let s:where = 1
+   let name = 'XVIMCLIPBOARD'
+   let cmd .= ' --servername ' . name
+   let g:job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'})
+   call WaitFor('job_status(g:job) == "run"')
+   if job_status(g:job) != 'run'
+     call assert_report('Cannot run the Vim server')
+     return ''
+   endif
+   let s:where = 2
+ 
+   " Takes a short while for the server to be active.
+   call WaitFor('serverlist() =~ "' . name . '"')
+   call assert_match(name, serverlist())
+   let s:where = 3
+ 
+   " Clear the *-register of this vim instance.
+   let @* = ''
+ 
+   " Try to change the *-register of the server.
+   call remote_foreground(name)
+   let s:where = 4
+   call remote_send(name, ":let @* = 'yes'\<CR>")
+   let s:where = 5
+   call WaitFor('remote_expr("' . name . '", "@*") == "yes"')
+   let s:where = 6
+   call assert_equal('yes', remote_expr(name, "@*"))
+   let s:where = 7
+ 
+   " Check that the *-register of this vim instance is changed as expected.
+   call assert_equal('yes', @*)
+ 
+   if has('unix') && has('gui') && !has('gui_running')
+     let @* = ''
+ 
+     " Running in a terminal and the GUI is avaiable: Tell the server to open
+     " the GUI and check that the remote command still works.
+     " Need to wait for the GUI to start up, otherwise the send hangs in trying
+     " to send to the terminal window.
+     if has('gui_athena') || has('gui_motif')
+       " For those GUIs, ignore the 'failed to create input context' error.
+       call remote_send(name, ":call test_ignore_error('E285') | gui -f\<CR>")
+     else
+       call remote_send(name, ":gui -f\<CR>")
+     endif
+     let s:where = 8
+     sleep 500m
+     call remote_send(name, ":let @* = 'maybe'\<CR>")
+     let s:where = 9
+     call WaitFor('remote_expr("' . name . '", "@*") == "maybe"')
+     let s:where = 10
+     call assert_equal('maybe', remote_expr(name, "@*"))
+     let s:where = 11
+ 
+     call assert_equal('maybe', @*)
+   endif
+ 
+   call remote_send(name, ":qa!\<CR>")
+   let s:where = 12
+   call WaitFor('job_status(g:job) == "dead"')
+   let s:where = 13
+   if job_status(g:job) != 'dead'
+     call assert_report('Server did not exit')
+     call job_stop(g:job, 'kill')
+   endif
+ 
+   return ''
+ endfunc
+ 
+ func Test_quotestar()
+   let skipped = ''
+ 
+   let quotestar_saved = @*
+ 
+   if has('macunix')
+     let skipped = Do_test_quotestar_for_macunix()
+   elseif !empty("$DISPLAY")
+     let skipped = Do_test_quotestar_for_x11()
+   else
+     let skipped = "Test is not implemented yet for this platform."
+   endif
+ 
+   let @* = quotestar_saved
+ 
+   if !empty(skipped)
+     throw skipped
+   endif
+ endfunc
*** ../vim-8.0.0488/src/testdir/runtest.vim     2017-03-18 21:22:42.503765361 
+0100
--- src/testdir/runtest.vim     2017-03-19 19:41:26.584496992 +0100
***************
*** 228,233 ****
--- 228,234 ----
        \ 'Test_pipe_through_sort_all()',
        \ 'Test_pipe_through_sort_some()',
        \ 'Test_quoteplus()',
+       \ 'Test_quotestar()',
        \ 'Test_reltime()',
        \ ]
  
*** ../vim-8.0.0488/src/version.c       2017-03-19 19:11:31.049503241 +0100
--- src/version.c       2017-03-19 19:58:02.057268489 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     489,
  /**/

-- 
"Hit any key to continue" does _not_ mean you can hit the on/off button!

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui