public function testApiAlways_DoesNotSuppressCancellation_WhenHandlerReturnsPromise()
{
$deferred = $this->createDeferred();
$test = $this->getTest();
$value = new StdClass();
$mock = $test->createCallableMock();
$mock->expects($test->once())->method('__invoke')->with($test->identicalTo($value));
$deferred->getPromise()->always(function () {
return Promise::doResolve(1);
})->then(null, null, $mock);
$deferred->cancel($value);
}