function 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[[api-linebreak]] @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.
