*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpKernel\Tests\EventListener;
use PHPUnit\Framework\TestCase;
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 TestCase
{
public function testFilterDoesNothingForSubRequests()
{
$dispatcher = new EventDispatcher();
$kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
$response = new Response('foo ');
$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->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
$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('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control'));
}
public function testFilterWhenThereIsNoEsiIncludes()
{
$dispatcher = new EventDispatcher();
$kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
$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'));
}
}
__halt_compiler();----SIGNATURE:----Xv3JJH9NHOcHi0V8vW/CxHHckaYw5BNvR6n+jssRjG1Zzm6tdZrsexCUV2jSyQbzGOZfpbm/867tIFt17ppArNx5P0xxhLMyklAAwPwPkwPBPGO+E9TZski3l9tGIAu+MvEDkMB2mBx17bua7mXmZVt1E6QUK8W187QWcOnAy+G0ssIEXVDw9oHl1QBg9UC2NBMIx8zSPnTvMhAY3RtXwKn5E/M+E3zXUYPvoLnkNW7+c5SgwN7lrXOwWo2qQ3iFW9U2Y58w8VcVABl9IFoKI1Vlu+aCH49aDBUdPG5RDrH0VcCNjcW87cKgJi5latkkhYuVl4gLY2ihO2YWRhlD1pb2vS+/kfN/VTPV/qFiAgIA2KtX5pYUBxGKcBHiXgMtLA6onzxxWgWv/1Wz6fSO5s3YBu1/tQ9qt9v4LNw4txIPMdtdEKN0z/qqYuFJboKsL6YOny8D3CqpqibxJbhB5jqOLQKi6E2eXUySj8N/enQkW5O8b2BURjpnbOdeEIVgCwmwZ5kQOZhaWjW+yXD9s5MHWY7lNiO+gjM1Qc0mCdvRoIp9v0h6xVBFhato6ghKnPqe58CdsCpDgvIxlvjZdqTOlqTWbc7mXyT5hBvRyQDDxrde0UaiARPmuE1jxVA7U2URxc5GBwJn1IiShwJjB2to27O+GyOulICE8HBUSoI=----ATTACHMENT:----Nzg0MzUxMTE3NzA4MTY4MyA4ODI3MzUwMzA5MjkzOTg4IDcyMDU2MDgyODU2MzA1OTI=