*
* 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:----cTWGhP8kZSaOvL8HV6Oub1GQh0woSg3wLXTuuYXWz3fRgFf7yxMqE6eSZxPjkRxgQzVgINwCKMCqKvVMZeTxVGGZndTZaTZ7znLFmxZeTi7WhNr0dZaAUKNFwsxPCki8Zs/BMZUZGzDt1FQoMW7Mo2+/z1yBGCn05a4WKvIeSB7dBJYTIq9OUdfJONDi0FZdQMLkVcvsfuMCQ6F4LSXaV9ISinA11LkAAqiw/hV1nD6vfSEwySXPSEmrrzqJNAxfJvt+GLXf6UoGpD0KrpjZgXqMQsWOQXe8IR7+BEfAzL2XCWUBB/RSlDe6q+Mx+2Pn43M/zxK9NLPcqKOL4bCPLO4vBbFIjXUeE+BOPXMENzq01i+wkXj93ZPECeNr8116xq+2T8ZLO5n98gl3JOEoItw7KuuITrxlqgQnNVsxD8tJhdvSDl+dqb02f8bz01pJbYmm0MYrVYmsZ9JqRggFJamvWQTA52ktNB4n6Kts9mLcad8J1SxbnW6vqmTucDRdqygiVvnMg4e+icM1aIjO3beOVYl893UfMIuM7sA606c5GLA+eMJPR3dg93q8tbTav7VcT/aaWNQHs7KSc8vP6mRfU0uTQXhiTwGlKrY/sOnV8PmvK7r+wkCw9q2Njr6gBlSNpvXa6TJzxtCfKRA6Kl5LEneISNcvEJVUzOzKTNU=----ATTACHMENT:----NzA1NDAwMzQzNzIwNDA0OSA0NDY5MzI2NDc2NDY0NTk4IDM3MzMxMTc2NTM2NDU4NzA=