1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?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\Tests\Component\HttpKernel\Exception;
- use Symfony\Component\HttpKernel\Exception\FlattenException;
- class FlattenExceptionTest extends \PHPUnit_Framework_TestCase
- {
- /**
- * @dataProvider flattenDataProvider
- */
- public function testFlattenHttpException(\Exception $exception, $statusCode)
- {
- $flattened = FlattenException::create($exception);
- $flattened2 = FlattenException::create($exception);
- $flattened->setPrevious($flattened2);
- $this->assertEquals($exception->getMessage(), $flattened->getMessage(), 'The message is copied from the original exception.');
- $this->assertEquals($exception->getCode(), $flattened->getCode(), 'The code is copied from the original exception.');
- $this->assertEquals(get_class($exception), $flattened->getClass(), 'The class is set to the class of the original exception');
- }
- /**
- * @dataProvider flattenDataProvider
- */
- public function testPrevious(\Exception $exception, $statusCode)
- {
- $flattened = FlattenException::create($exception);
- $flattened2 = FlattenException::create($exception);
- $flattened->setPrevious($flattened2);
- $this->assertSame($flattened2,$flattened->getPrevious());
- $this->assertSame(array($flattened2),$flattened->getAllPrevious());
- }
- /**
- * @dataProvider flattenDataProvider
- */
- public function testToArray(\Exception $exception, $statusCode)
- {
- $flattened = FlattenException::create($exception);
- $flattened->setTrace(array(),'foo.php',123);
- $this->assertEquals(array(
- array(
- 'message'=> 'test',
- 'class'=>'Exception',
- 'trace'=>array(array(
- 'namespace' => '', 'short_class' => '', 'class' => '','type' => '','function' => '', 'file' => 'foo.php','line' => 123,
- 'args' => array()
- )),
- )
- ),$flattened->toArray());
- }
- public function flattenDataProvider()
- {
- return array(
- array(new \Exception('test', 123), 500),
- );
- }
- public function testRecursionInArguments()
- {
- $a = array('foo', array(2, &$a));
- $exception = $this->createException($a);
- $flattened = FlattenException::create($exception);
- $trace = $flattened->getTrace();
- $this->assertContains('*DEEP NESTED ARRAY*', serialize($trace));
- }
- private function createException($foo)
- {
- return new \Exception();
- }
- }
|