/** * @test * */ public function from_promise_failure() { $p = Promise::rejected(new Exception('error')); $source = Promise::toObservable($p); $source->subscribe(new CallbackObserver(function ($x) { $this->assertFalse(true); }, function ($error) { $this->assertEquals($error, new Exception('error')); }, function () { $this->assertFalse(true); })); }
/** * @test */ public function from_promise_reject() { $error = new Exception("Test exception"); $source = PromiseFactory::toObservable(function () use($error) { return Promise::rejected($error); }); $theException = null; $source->subscribeCallback([$this, 'fail'], function ($err) use(&$theException) { $theException = $err; }, [$this, 'fail'], $this->scheduler); $this->scheduler->start(); $this->assertTrue($theException instanceof Exception); $this->assertSame($error, $theException); }
<?php require_once __DIR__ . '/../bootstrap.php'; $p = \Rx\React\Promise::resolved(42); $source = \Rx\React\Promise::toObservable($p); $subscription = $source->subscribe($stdoutObserver); //Next value: 42 //Complete! // Create a promise which rejects with an error $p = \Rx\React\Promise::rejected(new Exception('because')); $source2 = \Rx\React\Promise::toObservable($p); $subscription = $source2->subscribe($createStdoutObserver()); //Exception: because