Skip to content

Commit 732c1fd

Browse files
committed
Add tests for ObservableFactoryWrapper
1 parent 6115f36 commit 732c1fd

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
declare(strict_types = 1);
4+
5+
namespace Rx;
6+
7+
use React\Promise\PromiseInterface;
8+
use function React\Promise\resolve;
9+
10+
class ObservableFactoryWrapperTest extends TestCase
11+
{
12+
public function testPromiseIsConvertedToObservable()
13+
{
14+
$afw = new ObservableFactoryWrapper(static function (): PromiseInterface {
15+
return resolve(true);
16+
});
17+
$true = null;
18+
$afw()->subscribe(function ($v) use (&$true) {
19+
$true = $v;
20+
});
21+
22+
self::assertTrue($true);
23+
}
24+
25+
public function testObservable()
26+
{
27+
$afw = new ObservableFactoryWrapper(static function (): Observable {
28+
return Observable::fromArray([true], Scheduler::getImmediate());
29+
});
30+
$true = null;
31+
$afw()->subscribe(function ($v) use (&$true) {
32+
$true = $v;
33+
});
34+
35+
self::assertTrue($true);
36+
}
37+
38+
public function testNotAnObservableOrPromise()
39+
{
40+
self::expectException(\Exception::class);
41+
self::expectExceptionMessageMatches('/You must return an Observable or Promise in/');
42+
43+
$afw = new ObservableFactoryWrapper(static function (): bool {
44+
return true;
45+
});
46+
$afw();
47+
}
48+
}

0 commit comments

Comments
 (0)