for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Yiisoft\Cache\Tests\Dependency;
use Yiisoft\Cache\Dependency\CallbackDependency;
use Yiisoft\Cache\Dependency\Dependency;
class CallbackDependencyTest extends DependencyTestCase
{
private function getDependency(callable $callback, $dependencyData): Dependency
$dependency = new CallbackDependency($callback);
$this->setInaccessibleProperty($dependency, 'data', $dependencyData);
return $dependency;
}
public function testPlainClosure(): void
$dependency = $this->getDependency(static function () {
return true;
}, true);
$this->assertDependencyNotChanged($dependency);
public function testScopeWithObject(): void
$dataObject = new class {
public $value = 42;
};
$dependency = $this->getDependency(static function () use ($dataObject) {
return $dataObject->value;
}, 42);
$dataObject->value = 13;
$this->assertDependencyChanged($dependency);