public function concatMap_result_Error_Task()
{
$xs = Observable::fromArray([4, 3, 2, 1]);
$results = [];
$completed = false;
$error = new \Exception();
$returnError = null;
$xs->concatMap(function ($x, $i) {
return Observable::just($x + $i);
}, function ($x, $y, $i) use($error) {
throw $error;
})->subscribeCallback(function ($x) use(&$results) {
$results[] = $x;
}, function ($e) use(&$returnError) {
$returnError = $e;
}, function () use(&$completed) {
$completed = true;
});
$this->assertFalse($completed);
$this->assertSame($error, $returnError);
$this->assertEquals([], $results);
}