1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?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 Symfony\Bundle\TwigBundle\Tests\Controller;
- use Symfony\Bundle\TwigBundle\Controller\PreviewErrorController;
- use Symfony\Bundle\TwigBundle\Tests\TestCase;
- use Symfony\Component\Debug\Exception\FlattenException;
- use Symfony\Component\HttpFoundation\Response;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpKernel\HttpKernelInterface;
- class PreviewErrorControllerTest extends TestCase
- {
- public function testForwardRequestToConfiguredController()
- {
- $request = Request::create('whatever');
- $response = new Response('');
- $code = 123;
- $logicalControllerName = 'foo:bar:baz';
- $kernel = $this->getMock('\Symfony\Component\HttpKernel\HttpKernelInterface');
- $kernel
- ->expects($this->once())
- ->method('handle')
- ->with(
- $this->callback(function (Request $request) use ($logicalControllerName, $code) {
- $this->assertEquals($logicalControllerName, $request->attributes->get('_controller'));
- $exception = $request->attributes->get('exception');
- $this->assertInstanceOf(FlattenException::class, $exception);
- $this->assertEquals($code, $exception->getStatusCode());
- $this->assertFalse($request->attributes->get('showException'));
- return true;
- }),
- $this->equalTo(HttpKernelInterface::SUB_REQUEST)
- )
- ->will($this->returnValue($response));
- $controller = new PreviewErrorController($kernel, $logicalControllerName);
- $this->assertSame($response, $controller->previewErrorPageAction($request, $code));
- }
- }
|