11<?php
22
3+ use React \Promise \Deferred ;
4+
35require __DIR__ . '/../vendor/autoload.php ' ;
46
57class TestCase extends PHPUnit_Framework_TestCase
@@ -15,6 +17,18 @@ protected function expectCallableOnce()
1517 return $ mock ;
1618 }
1719
20+ protected function expectCallableOnceWith ($ value )
21+ {
22+ $ mock = $ this ->createCallableMock ();
23+
24+ $ mock
25+ ->expects ($ this ->once ())
26+ ->method ('__invoke ' )
27+ ->with ($ this ->equalTo ($ value ));
28+
29+ return $ mock ;
30+ }
31+
1832 protected function expectCallableNever ()
1933 {
2034 $ mock = $ this ->createCallableMock ();
@@ -42,6 +56,15 @@ protected function expectPromiseResolve($promise)
4256 return $ promise ;
4357 }
4458
59+ protected function expectPromiseResolveWith ($ value , $ promise )
60+ {
61+ $ this ->assertInstanceOf ('React\Promise\PromiseInterface ' , $ promise );
62+
63+ $ promise ->then ($ this ->expectCallableOnceWith ($ value ), $ this ->expectCallableNever ());
64+
65+ return $ promise ;
66+ }
67+
4568 protected function expectPromiseReject ($ promise )
4669 {
4770 $ this ->assertInstanceOf ('React\Promise\PromiseInterface ' , $ promise );
@@ -50,6 +73,22 @@ protected function expectPromiseReject($promise)
5073
5174 return $ promise ;
5275 }
76+
77+ protected function createPromiseResolved ($ value = null )
78+ {
79+ $ deferred = new Deferred ();
80+ $ deferred ->resolve ($ value );
81+
82+ return $ deferred ->promise ();
83+ }
84+
85+ protected function createPromiseRejected ($ value = null )
86+ {
87+ $ deferred = new Deferred ();
88+ $ deferred ->reject ($ value );
89+
90+ return $ deferred ->promise ();
91+ }
5392}
5493
5594class CallableStub
0 commit comments