Yaffs site version 1.1
[yaffs-website] / vendor / symfony / http-kernel / Tests / EventListener / SurrogateListenerTest.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\Tests\EventListener;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\HttpKernel\HttpCache\Esi;
16 use Symfony\Component\HttpKernel\EventListener\SurrogateListener;
17 use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
18 use Symfony\Component\HttpKernel\KernelEvents;
19 use Symfony\Component\HttpKernel\HttpKernelInterface;
20 use Symfony\Component\HttpFoundation\Response;
21 use Symfony\Component\HttpFoundation\Request;
22 use Symfony\Component\EventDispatcher\EventDispatcher;
23
24 class SurrogateListenerTest extends TestCase
25 {
26     public function testFilterDoesNothingForSubRequests()
27     {
28         $dispatcher = new EventDispatcher();
29         $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
30         $response = new Response('foo <esi:include src="" />');
31         $listener = new SurrogateListener(new Esi());
32
33         $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
34         $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
35         $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
36
37         $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
38     }
39
40     public function testFilterWhenThereIsSomeEsiIncludes()
41     {
42         $dispatcher = new EventDispatcher();
43         $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
44         $response = new Response('foo <esi:include src="" />');
45         $listener = new SurrogateListener(new Esi());
46
47         $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
48         $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
49         $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
50
51         $this->assertEquals('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control'));
52     }
53
54     public function testFilterWhenThereIsNoEsiIncludes()
55     {
56         $dispatcher = new EventDispatcher();
57         $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock();
58         $response = new Response('foo');
59         $listener = new SurrogateListener(new Esi());
60
61         $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
62         $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
63         $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
64
65         $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
66     }
67 }