Permalink
Browse files

patch 7.4.2178

Problem:    No test for reading from stdin.
Solution:   Add a test.
  • Loading branch information...
1 parent ba98bef commit 3a938383396d4ab352bbb4d806938302debdae2c @brammool brammool committed Aug 7, 2016
Showing with 27 additions and 3 deletions.
  1. +13 −3 src/testdir/shared.vim
  2. +12 −0 src/testdir/test_startup.vim
  3. +2 −0 src/version.c
@@ -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')
@@ -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
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2178,
+/**/
2177,
/**/
2176,

0 comments on commit 3a93838

Please sign in to comment.