123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?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\Component\Debug\Tests;
- use Symfony\Component\Debug\ExceptionHandler;
- use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
- use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
- class ExceptionHandlerTest extends \PHPUnit_Framework_TestCase
- {
- protected function setUp()
- {
- if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
- $this->markTestSkipped('The "HttpFoundation" component is not available');
- }
- }
- public function testDebug()
- {
- $handler = new ExceptionHandler(false);
- $response = $handler->createResponse(new \RuntimeException('Foo'));
- $this->assertContains('<h1>Whoops, looks like something went wrong.</h1>', $response->getContent());
- $this->assertNotContains('<div class="block_exception clear_fix">', $response->getContent());
- $handler = new ExceptionHandler(true);
- $response = $handler->createResponse(new \RuntimeException('Foo'));
- $this->assertContains('<h1>Whoops, looks like something went wrong.</h1>', $response->getContent());
- $this->assertContains('<div class="block_exception clear_fix">', $response->getContent());
- }
- public function testStatusCode()
- {
- $handler = new ExceptionHandler(false);
- $response = $handler->createResponse(new \RuntimeException('Foo'));
- $this->assertEquals('500', $response->getStatusCode());
- $this->assertContains('Whoops, looks like something went wrong.', $response->getContent());
- $response = $handler->createResponse(new NotFoundHttpException('Foo'));
- $this->assertEquals('404', $response->getStatusCode());
- $this->assertContains('Sorry, the page you are looking for could not be found.', $response->getContent());
- }
- public function testHeaders()
- {
- $handler = new ExceptionHandler(false);
- $response = $handler->createResponse(new MethodNotAllowedHttpException(array('POST')));
- $this->assertEquals('405', $response->getStatusCode());
- $this->assertEquals('POST', $response->headers->get('Allow'));
- }
- public function testNestedExceptions()
- {
- $handler = new ExceptionHandler(true);
- $response = $handler->createResponse(new \RuntimeException('Foo', null, new \RuntimeException('Bar')));
- }
- }
|