public function HttpCacheTest::testTerminateDelegatesTerminationOnlyForTerminableInterface

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php, line 29

Class

HttpCacheTest

Namespace

Symfony\Component\HttpKernel\Tests\HttpCache

Code

public function testTerminateDelegatesTerminationOnlyForTerminableInterface() {
  if (!class_exists('Symfony\\Component\\DependencyInjection\\Container')) {
    $this
      ->markTestSkipped('The "DependencyInjection" component is not available');
  }
  $storeMock = $this
    ->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface')
    ->disableOriginalConstructor()
    ->getMock();

  // does not implement TerminableInterface
  $kernelMock = $this
    ->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpKernelInterface')
    ->disableOriginalConstructor()
    ->getMock();
  $kernelMock
    ->expects($this
    ->never())
    ->method('terminate');
  $kernel = new HttpCache($kernelMock, $storeMock);
  $kernel
    ->terminate(Request::create('/'), new Response());

  // implements TerminableInterface
  $kernelMock = $this
    ->getMockBuilder('Symfony\\Component\\HttpKernel\\Kernel')
    ->disableOriginalConstructor()
    ->setMethods(array(
    'terminate',
    'registerBundles',
    'registerContainerConfiguration',
  ))
    ->getMock();
  $kernelMock
    ->expects($this
    ->once())
    ->method('terminate');
  $kernel = new HttpCache($kernelMock, $storeMock);
  $kernel
    ->terminate(Request::create('/'), new Response());
}