SurrogateListenerTest.php in Zircon Profile 8.0
File
vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php
View source
<?php
namespace Symfony\Component\HttpKernel\Tests\EventListener;
use Symfony\Component\HttpKernel\HttpCache\Esi;
use Symfony\Component\HttpKernel\EventListener\SurrogateListener;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\EventDispatcher\EventDispatcher;
class SurrogateListenerTest extends \PHPUnit_Framework_TestCase {
public function testFilterDoesNothingForSubRequests() {
$dispatcher = new EventDispatcher();
$kernel = $this
->getMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
$response = new Response('foo <esi:include src="" />');
$listener = new SurrogateListener(new Esi());
$dispatcher
->addListener(KernelEvents::RESPONSE, array(
$listener,
'onKernelResponse',
));
$event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
$dispatcher
->dispatch(KernelEvents::RESPONSE, $event);
$this
->assertEquals('', $event
->getResponse()->headers
->get('Surrogate-Control'));
}
public function testFilterWhenThereIsSomeEsiIncludes() {
$dispatcher = new EventDispatcher();
$kernel = $this
->getMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
$response = new Response('foo <esi:include src="" />');
$listener = new SurrogateListener(new Esi());
$dispatcher
->addListener(KernelEvents::RESPONSE, array(
$listener,
'onKernelResponse',
));
$event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
$dispatcher
->dispatch(KernelEvents::RESPONSE, $event);
$this
->assertEquals('content="ESI/1.0"', $event
->getResponse()->headers
->get('Surrogate-Control'));
}
public function testFilterWhenThereIsNoEsiIncludes() {
$dispatcher = new EventDispatcher();
$kernel = $this
->getMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
$response = new Response('foo');
$listener = new SurrogateListener(new Esi());
$dispatcher
->addListener(KernelEvents::RESPONSE, array(
$listener,
'onKernelResponse',
));
$event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
$dispatcher
->dispatch(KernelEvents::RESPONSE, $event);
$this
->assertEquals('', $event
->getResponse()->headers
->get('Surrogate-Control'));
}
}