Mercurial > vim
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 = ''