function AccessResultTest::testAndOrCacheabilityPropagation
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Access/AccessResultTest.php \Drupal\Tests\Core\Access\AccessResultTest::testAndOrCacheabilityPropagation()
- 8.9.x core/tests/Drupal/Tests/Core/Access/AccessResultTest.php \Drupal\Tests\Core\Access\AccessResultTest::testAndOrCacheabilityPropagation()
- 10 core/tests/Drupal/Tests/Core/Access/AccessResultTest.php \Drupal\Tests\Core\Access\AccessResultTest::testAndOrCacheabilityPropagation()
@covers ::andIf @covers ::orIf @covers ::inheritCacheability
@dataProvider andOrCacheabilityPropagationProvider
File
-
core/
tests/ Drupal/ Tests/ Core/ Access/ AccessResultTest.php, line 855
Class
- AccessResultTest
- @coversDefaultClass \Drupal\Core\Access\AccessResult @group Access
Namespace
Drupal\Tests\Core\AccessCode
public function testAndOrCacheabilityPropagation(AccessResultInterface $first, $op, AccessResultInterface $second, $implements_cacheable_dependency_interface, $is_cacheable) : void {
if ($op === 'OR') {
$result = $first->orIf($second);
}
elseif ($op === 'AND') {
$result = $first->andIf($second);
}
else {
throw new \LogicException('Invalid operator specified');
}
if ($implements_cacheable_dependency_interface) {
$this->assertInstanceOf(CacheableDependencyInterface::class, $result);
if ($result instanceof CacheableDependencyInterface) {
$this->assertSame($is_cacheable, $result->getCacheMaxAge() !== 0, 'getCacheMaxAge() matches expectations.');
}
}
else {
$this->assertNotInstanceOf(CacheableDependencyInterface::class, $result);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.