function ChainResponsePolicyTest::testStopChainOnFirstDeny
Asserts that check() returns immediately when a rule returned DENY.
File
- 
              core/
tests/ Drupal/ Tests/ Core/ PageCache/ ChainResponsePolicyTest.php, line 118  
Class
- ChainResponsePolicyTest
 - @coversDefaultClass \Drupal\Core\PageCache\ChainResponsePolicy[[api-linebreak]] @group PageCache
 
Namespace
Drupal\Tests\Core\PageCacheCode
public function testStopChainOnFirstDeny() : void {
  $rule1 = $this->createMock('Drupal\\Core\\PageCache\\ResponsePolicyInterface');
  $rule1->expects($this->once())
    ->method('check')
    ->with($this->response, $this->request);
  $this->policy
    ->addPolicy($rule1);
  $deny_rule = $this->createMock('Drupal\\Core\\PageCache\\ResponsePolicyInterface');
  $deny_rule->expects($this->once())
    ->method('check')
    ->with($this->response, $this->request)
    ->willReturn(ResponsePolicyInterface::DENY);
  $this->policy
    ->addPolicy($deny_rule);
  $ignored_rule = $this->createMock('Drupal\\Core\\PageCache\\ResponsePolicyInterface');
  $ignored_rule->expects($this->never())
    ->method('check');
  $this->policy
    ->addPolicy($ignored_rule);
  $actual_result = $this->policy
    ->check($this->response, $this->request);
  $this->assertSame(ResponsePolicyInterface::DENY, $actual_result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.