Rx\Functional\Operator\ConcatMapTest::concatMap_result_Error_Task PHP Method

concatMap_result_Error_Task() public method

    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);
    }