@@ -610,13 +610,22 @@ func Test_nl_write_both_file()
610610 endtry
611611endfunc
612612
613- func Test_pipe_to_buffer ( )
613+ func Run_test_pipe_to_buffer (use_name )
614614 if ! has (' job' )
615615 return
616616 endif
617617 call ch_log (' Test_pipe_to_buffer()' )
618- let job = job_start (s: python . " test_channel_pipe.py" ,
619- \ {' out-io' : ' buffer' , ' out-name' : ' pipe-output' })
618+ let options = {' out-io' : ' buffer' }
619+ if a: use_name
620+ let options [' out-name' ] = ' pipe-output'
621+ let firstline = ' Reading from channel output...'
622+ else
623+ sp pipe- output
624+ let options [' out-buf' ] = bufnr (' %' )
625+ quit
626+ let firstline = ' '
627+ endif
628+ let job = job_start (s: python . " test_channel_pipe.py" , options )
620629 call assert_equal (" run" , job_status (job))
621630 try
622631 let handle = job_getchannel (job)
@@ -626,20 +635,37 @@ func Test_pipe_to_buffer()
626635 call ch_sendraw (handle, " quit\n " )
627636 sp pipe- output
628637 call s: waitFor (' line("$") >= 6' )
629- call assert_equal ([' Reading from channel output... ' , ' line one' , ' line two' , ' this' , ' AND this' , ' Goodbye!' ], getline (1 , ' $' ))
638+ call assert_equal ([firstline , ' line one' , ' line two' , ' this' , ' AND this' , ' Goodbye!' ], getline (1 , ' $' ))
630639 bwipe!
631640 finally
632641 call job_stop (job)
633642 endtry
634643endfunc
635644
636- func Test_pipe_err_to_buffer ()
645+ func Test_pipe_to_buffer_name ()
646+ call Run_test_pipe_to_buffer (1 )
647+ endfunc
648+
649+ func Test_pipe_to_buffer_nr ()
650+ call Run_test_pipe_to_buffer (0 )
651+ endfunc
652+
653+ func Run_test_pipe_err_to_buffer (use_name)
637654 if ! has (' job' )
638655 return
639656 endif
640657 call ch_log (' Test_pipe_err_to_buffer()' )
641- let job = job_start (s: python . " test_channel_pipe.py" ,
642- \ {' err-io' : ' buffer' , ' err-name' : ' pipe-err' })
658+ let options = {' err-io' : ' buffer' }
659+ if a: use_name
660+ let options [' err-name' ] = ' pipe-err'
661+ let firstline = ' Reading from channel error...'
662+ else
663+ sp pipe- err
664+ let options [' err-buf' ] = bufnr (' %' )
665+ quit
666+ let firstline = ' '
667+ endif
668+ let job = job_start (s: python . " test_channel_pipe.py" , options )
643669 call assert_equal (" run" , job_status (job))
644670 try
645671 let handle = job_getchannel (job)
@@ -649,13 +675,21 @@ func Test_pipe_err_to_buffer()
649675 call ch_sendraw (handle, " quit\n " )
650676 sp pipe- err
651677 call s: waitFor (' line("$") >= 5' )
652- call assert_equal ([' Reading from channel error... ' , ' line one' , ' line two' , ' this' , ' AND this' ], getline (1 , ' $' ))
678+ call assert_equal ([firstline , ' line one' , ' line two' , ' this' , ' AND this' ], getline (1 , ' $' ))
653679 bwipe!
654680 finally
655681 call job_stop (job)
656682 endtry
657683endfunc
658684
685+ func Test_pipe_err_to_buffer_name ()
686+ call Run_test_pipe_err_to_buffer (1 )
687+ endfunc
688+
689+ func Test_pipe_err_to_buffer_nr ()
690+ call Run_test_pipe_err_to_buffer (0 )
691+ endfunc
692+
659693func Test_pipe_both_to_buffer ()
660694 if ! has (' job' )
661695 return
@@ -680,17 +714,22 @@ func Test_pipe_both_to_buffer()
680714 endtry
681715endfunc
682716
683- func Test_pipe_from_buffer ( )
717+ func Run_test_pipe_from_buffer (use_name )
684718 if ! has (' job' )
685719 return
686720 endif
687721 call ch_log (' Test_pipe_from_buffer()' )
688722
689723 sp pipe- input
690724 call setline (1 , [' echo one' , ' echo two' , ' echo three' ])
725+ let options = {' in-io' : ' buffer' }
726+ if a: use_name
727+ let options [' in-name' ] = ' pipe-input'
728+ else
729+ let options [' in-buf' ] = bufnr (' %' )
730+ endif
691731
692- let job = job_start (s: python . " test_channel_pipe.py" ,
693- \ {' in-io' : ' buffer' , ' in-name' : ' pipe-input' })
732+ let job = job_start (s: python . " test_channel_pipe.py" , options )
694733 call assert_equal (" run" , job_status (job))
695734 try
696735 let handle = job_getchannel (job)
@@ -703,6 +742,14 @@ func Test_pipe_from_buffer()
703742 endtry
704743endfunc
705744
745+ func Test_pipe_from_buffer_name ()
746+ call Run_test_pipe_from_buffer (1 )
747+ endfunc
748+
749+ func Test_pipe_from_buffer_nr ()
750+ call Run_test_pipe_from_buffer (0 )
751+ endfunc
752+
706753func Test_pipe_to_nameless_buffer ()
707754 if ! has (' job' )
708755 return
0 commit comments