@@ -125,6 +125,44 @@ public function itShouldHandlePipingCorrectly()
125125 $ input ->emit ('data ' , array ('foo ' ));
126126 }
127127
128+ /** @test */
129+ public function itShouldForwardPauseUpstreamWhenPipedTo ()
130+ {
131+ $ readable = $ this ->getMockBuilder ('React\Stream\ReadableStreamInterface ' )->getMock ();
132+ $ readable ->expects ($ this ->any ())->method ('isReadable ' )->willReturn (true );
133+ $ writable = $ this ->getMockBuilder ('React\Stream\WritableStreamInterface ' )->getMock ();
134+ $ writable ->expects ($ this ->any ())->method ('isWritable ' )->willReturn (true );
135+
136+ $ composite = new CompositeStream ($ readable , $ writable );
137+
138+ $ input = $ this ->getMockBuilder ('React\Stream\ReadableStream ' )->setMethods (array ('pause ' , 'resume ' ))->getMock ();
139+ $ input
140+ ->expects ($ this ->once ())
141+ ->method ('pause ' );
142+
143+ $ input ->pipe ($ composite );
144+ $ composite ->pause ();
145+ }
146+
147+ /** @test */
148+ public function itShouldForwardResumeUpstreamWhenPipedTo ()
149+ {
150+ $ readable = $ this ->getMockBuilder ('React\Stream\ReadableStreamInterface ' )->getMock ();
151+ $ readable ->expects ($ this ->any ())->method ('isReadable ' )->willReturn (true );
152+ $ writable = $ this ->getMockBuilder ('React\Stream\WritableStreamInterface ' )->getMock ();
153+ $ writable ->expects ($ this ->any ())->method ('isWritable ' )->willReturn (true );
154+
155+ $ composite = new CompositeStream ($ readable , $ writable );
156+
157+ $ input = $ this ->getMockBuilder ('React\Stream\ReadableStream ' )->setMethods (array ('pause ' , 'resume ' ))->getMock ();
158+ $ input
159+ ->expects ($ this ->once ())
160+ ->method ('resume ' );
161+
162+ $ input ->pipe ($ composite );
163+ $ composite ->resume ();
164+ }
165+
128166 /** @test */
129167 public function itShouldForwardPauseAndResumeUpstreamWhenPipedTo ()
130168 {
0 commit comments