Kraken\_Unit\Promise\_Partial\FunctionResolvePartial::testApiDoResolve_SupportsDeepNestingInPromiseChains PHP Метод

testApiDoResolve_SupportsDeepNestingInPromiseChains() публичный Метод

    public function testApiDoResolve_SupportsDeepNestingInPromiseChains()
    {
        $test = $this->getTest();
        $d = new Deferred();
        $d->resolve(false);
        $result = Promise::doResolve(Promise::doResolve($d->getPromise()->then(function ($val) {
            $d = new Deferred();
            $d->resolve($val);
            $identity = function ($val) {
                return $val;
            };
            return Promise::doResolve($d->getPromise()->then($identity))->then(function ($val) {
                return !$val;
            });
        })));
        $mock = $test->createCallableMock();
        $mock->expects($test->once())->method('__invoke')->with($test->identicalTo(true));
        $result->then($mock);
    }