public function defer_error()
{
$invoked = 0;
$xs = null;
$results = $this->scheduler->startWithCreate(function () use(&$invoked, &$xs) {
return Observable::defer(function () use(&$invoked, &$xs) {
$invoked++;
$xs = $this->createColdObservable([onNext(100, $this->scheduler->getClock()), onError(200, new \Exception("error"))]);
return $xs;
});
});
$this->assertMessages([onNext(300, 200), onError(400, new \Exception('error'))], $results->getMessages());
$this->assertEquals(1, $invoked);
$this->assertSubscriptions([subscribe(200, 400)], $xs->getSubscriptions());
}