You are here

class UndefinedFunctionFatalErrorHandlerTest in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php \Symfony\Component\Debug\Tests\FatalErrorHandler\UndefinedFunctionFatalErrorHandlerTest

Hierarchy

Expanded class hierarchy of UndefinedFunctionFatalErrorHandlerTest

File

vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php, line 17

Namespace

Symfony\Component\Debug\Tests\FatalErrorHandler
View source
class UndefinedFunctionFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase {

  /**
   * @dataProvider provideUndefinedFunctionData
   */
  public function testUndefinedFunction($error, $translatedMessage) {
    $handler = new UndefinedFunctionFatalErrorHandler();
    $exception = $handler
      ->handleError($error, new FatalErrorException('', 0, $error['type'], $error['file'], $error['line']));
    $this
      ->assertInstanceOf('Symfony\\Component\\Debug\\Exception\\UndefinedFunctionException', $exception);

    // class names are case insensitive and PHP/HHVM do not return the same
    $this
      ->assertSame(strtolower($translatedMessage), strtolower($exception
      ->getMessage()));
    $this
      ->assertSame($error['type'], $exception
      ->getSeverity());
    $this
      ->assertSame($error['file'], $exception
      ->getFile());
    $this
      ->assertSame($error['line'], $exception
      ->getLine());
  }
  public function provideUndefinedFunctionData() {
    return array(
      array(
        array(
          'type' => 1,
          'line' => 12,
          'file' => 'foo.php',
          'message' => 'Call to undefined function test_namespaced_function()',
        ),
        "Attempted to call function \"test_namespaced_function\" from the global namespace.\nDid you mean to call \"\\symfony\\component\\debug\\tests\\fatalerrorhandler\\test_namespaced_function\"?",
      ),
      array(
        array(
          'type' => 1,
          'line' => 12,
          'file' => 'foo.php',
          'message' => 'Call to undefined function Foo\\Bar\\Baz\\test_namespaced_function()',
        ),
        "Attempted to call function \"test_namespaced_function\" from namespace \"Foo\\Bar\\Baz\".\nDid you mean to call \"\\symfony\\component\\debug\\tests\\fatalerrorhandler\\test_namespaced_function\"?",
      ),
      array(
        array(
          'type' => 1,
          'line' => 12,
          'file' => 'foo.php',
          'message' => 'Call to undefined function foo()',
        ),
        'Attempted to call function "foo" from the global namespace.',
      ),
      array(
        array(
          'type' => 1,
          'line' => 12,
          'file' => 'foo.php',
          'message' => 'Call to undefined function Foo\\Bar\\Baz\\foo()',
        ),
        'Attempted to call function "foo" from namespace "Foo\\Bar\\Baz".',
      ),
    );
  }

}

Members