# HG changeset patch # User Christian Brabandt # Date 1470581105 -7200 # Node ID 108b62925cb00bc7bbbaac61f51dc7f9b72bd550 # Parent 33d5778e0ec0651530bd92d32ab2c81fc477c427 commit https://github.com/vim/vim/commit/3a938383396d4ab352bbb4d806938302debdae2c Author: Bram Moolenaar Date: Sun Aug 7 16:36:40 2016 +0200 patch 7.4.2178 Problem: No test for reading from stdin. Solution: Add a test. diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim --- a/src/testdir/shared.vim +++ b/src/testdir/shared.vim @@ -122,11 +122,15 @@ func WaitFor(expr) endfunc " Run Vim, using the "vimcmd" file and "-u NORC". -" "before" is a list of commands to be executed before loading plugins. -" "after" is a list of commands to be executed after loading plugins. +" "before" is a list of Vim commands to be executed before loading plugins. +" "after" is a list of Vim commands to be executed after loading plugins. " Plugins are not loaded, unless 'loadplugins' is set in "before". " Return 1 if Vim could be executed. func RunVim(before, after, arguments) + call RunVimPiped(a:before, a:after, a:arguments, '') +endfunc + +func RunVimPiped(before, after, arguments, pipecmd) if !filereadable('vimcmd') return 0 endif @@ -145,7 +149,13 @@ func RunVim(before, after, arguments) if cmd !~ '-u NONE' let cmd = cmd . ' -u NONE' endif - exe "silent !" . cmd . args . ' ' . a:arguments + + " With pipecmd we can't set VIMRUNTIME. + if a:pipecmd != '' + let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '') + endif + + exe "silent !" . a:pipecmd . cmd . args . ' ' . a:arguments if len(a:before) > 0 call delete('Xbefore.vim') diff --git a/src/testdir/test_startup.vim b/src/testdir/test_startup.vim --- a/src/testdir/test_startup.vim +++ b/src/testdir/test_startup.vim @@ -169,3 +169,15 @@ func Test_startuptime() endif call delete('Xtestout') endfunc + +func Test_read_stdin() + let after = [ + \ 'write Xtestout', + \ 'quit!', + \ ] + if RunVimPiped([], after, '-', 'echo something | ') + let lines = readfile('Xtestout') + call assert_equal('something', lines[0]) + endif + call delete('Xtestout') +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2178, +/**/ 2177, /**/ 2176,