/** @test */ public function shouldInvokeNewlyAddedCallbackWhenAlreadyResolved() { $d = new Deferred(); $d->resolver()->resolve(1); $mock = $this->createCallableMock(); $mock->expects($this->once())->method('__invoke')->with($this->identicalTo(1)); $d->promise()->then($mock, $this->expectCallableNever()); }
/** @test */ public function shouldAllowRejectAfterProgress() { $d = new Deferred(); $mock = $this->createCallableMock(); $mock->expects($this->at(0))->method('__invoke')->with($this->identicalTo(1)); $mock->expects($this->at(1))->method('__invoke')->with($this->identicalTo(2)); $d->promise()->then($this->expectCallableNever(), $mock, $mock); $d->resolver()->progress(1); $d->resolver()->reject(2); }