@@ -436,11 +436,14 @@ public function testCancelBufferingResponseWillCloseStreamAndReject()
436436 $ response = new Response (200 , array (), new ReadableBodyStream ($ stream ));
437437
438438 // mock sender to resolve promise with the given $response in response to the given $request
439+ $ deferred = new Deferred ();
439440 $ sender = $ this ->makeSenderMock ();
440- $ sender ->expects ($ this ->once ())->method ('send ' )->with ($ this ->equalTo ($ request ))->willReturn (Promise \resolve ( $ response ));
441+ $ sender ->expects ($ this ->once ())->method ('send ' )->with ($ this ->equalTo ($ request ))->willReturn ($ deferred -> promise ( ));
441442
442443 $ transaction = new Transaction ($ sender , Loop::get ());
443444 $ promise = $ transaction ->send ($ request );
445+
446+ $ deferred ->resolve ($ response );
444447 $ promise ->cancel ();
445448
446449 $ this ->setExpectedException ('RuntimeException ' );
@@ -778,13 +781,16 @@ public function testCancelTransactionWillCloseBufferingStream()
778781 $ body = new ThroughStream ();
779782 $ body ->on ('close ' , $ this ->expectCallableOnce ());
780783
781- // mock sender to resolve promise with the given $redirectResponse in
782- $ redirectResponse = new Response ( 301 , array ( ' Location ' => ' http://example.com/new ' ), new ReadableBodyStream ( $ body ) );
783- $ sender ->expects ($ this ->once ())->method ('send ' )->willReturn (Promise \resolve ( $ redirectResponse ));
784+ // mock sender to resolve promise with the given $redirectResponse
785+ $ deferred = new Deferred ( );
786+ $ sender ->expects ($ this ->once ())->method ('send ' )->willReturn ($ deferred -> promise ( ));
784787
785788 $ transaction = new Transaction ($ sender , $ loop );
786789 $ promise = $ transaction ->send ($ request );
787790
791+ $ redirectResponse = new Response (301 , array ('Location ' => 'http://example.com/new ' ), new ReadableBodyStream ($ body ));
792+ $ deferred ->resolve ($ redirectResponse );
793+
788794 $ promise ->cancel ();
789795 }
790796
0 commit comments