ExceptionDataCollectorTest.php

Namespace

Symfony\Component\HttpKernel\Tests\DataCollector

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php
View source
<?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\HttpKernel\Tests\DataCollector;

use Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector;
use Symfony\Component\HttpKernel\Exception\FlattenException;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class ExceptionDataCollectorTest extends \PHPUnit_Framework_TestCase {
  protected function setUp() {
    if (!class_exists('Symfony\\Component\\HttpFoundation\\Request')) {
      $this
        ->markTestSkipped('The "HttpFoundation" component is not available');
    }
  }
  public function testCollect() {
    $e = new \Exception('foo', 500);
    $c = new ExceptionDataCollector();
    $flattened = FlattenException::create($e);
    $trace = $flattened
      ->getTrace();
    $this
      ->assertFalse($c
      ->hasException());
    $c
      ->collect(new Request(), new Response(), $e);
    $this
      ->assertTrue($c
      ->hasException());
    $this
      ->assertEquals($flattened, $c
      ->getException());
    $this
      ->assertSame('foo', $c
      ->getMessage());
    $this
      ->assertSame(500, $c
      ->getCode());
    $this
      ->assertSame('exception', $c
      ->getName());
    $this
      ->assertSame($trace, $c
      ->getTrace());
  }

}

Classes