*
* 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:----osFBj5xcCc+EHh2ywWH+HzVKiTYPcjJ5Qf5Yuu/oPXcjHybl4W0V40F7ry7KOfoQHeaAruiItTgptnoid2STYyt34m3o378vgnK7WHftt9Dx5svF++kPS9Kb4/KUngL+nyU9hBgtvVQPDWuEeC+ijRmcKXmTX90IIthYTX7uBmLtzgqCQhWETlcIvjTQgqwIxEeCvP07Mz8RXsomyNRVZpZ0HwWnItQIioOaDtJF1XokY9zvyPRuw2UW+tEhtV+ONy+RVgq+HFS4hYGSQvshWozgbhuVg16D9uXc1d1lmKeiyz+2+3sz8v0YDfBD7E1gLh7ymQgSFGkSxk2e73ViO9HBUz+DQQTxzNqAU5m1Bjca6XshWhDWWUWuEhCe20pegz3z2A9x9nCHToe2TWlejzp9QnbUlhqU3hF4T7mnOr9U07zm1YHeTbWV8rjUYIoFPu9+ZZcn634USd4WagZzw5qIkR9/dLpLOZJe+K9oaK5ZapNvoVNd3Ge2LIVz5r1yvIktPJjOxKopkTT5iLEVgd94an0Ke9gz7p2GGpniDMFxGf3DgT2CTjqHb+4e3/OOv463XyohobeWMe+tbMcPn5vTSi1RhWFv7cvQ7QyTftFtSOdg2uvRTUKRMNtmdQu4h7wGWuFTZuoWj4JAyWLQARKgeFWjhCv1sEoOyDecqjU=----ATTACHMENT:----NTIzMjkxNTIxODM0NDg1MSAzNzUzNzMxNTc4MDg3MTgyIDE5OTkzMDU3Mzc1NDQwMjg=