Файл: gapps/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php
Строк: 195
<?php
/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace SymfonyComponentHttpKernelTestsEventListener;
use SymfonyComponentHttpKernelHttpCacheEsi;
use SymfonyComponentHttpKernelEventListenerSurrogateListener;
use SymfonyComponentHttpKernelEventFilterResponseEvent;
use SymfonyComponentHttpKernelKernelEvents;
use SymfonyComponentHttpKernelHttpKernelInterface;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentEventDispatcherEventDispatcher;
class SurrogateListenerTest extends PHPUnit_Framework_TestCase
{
    public function testFilterDoesNothingForSubRequests()
    {
        $dispatcher = new EventDispatcher();
        $kernel = $this->getMock('SymfonyComponentHttpKernelHttpKernelInterface');
        $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('SymfonyComponentHttpKernelHttpKernelInterface');
        $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('SymfonyComponentHttpKernelHttpKernelInterface');
        $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'));
    }
}