mirror of
https://github.com/symfony/debug.git
synced 2026-03-25 09:42:20 +01:00
* 3.4: fixed CS fixed short array CS in comments fixed CS in ExpressionLanguage fixtures fixed CS in generated files fixed CS on generated container files fixed CS on Form PHP templates fixed CS on YAML fixtures fixed fixtures switched array() to []
82 lines
3.1 KiB
PHP
82 lines
3.1 KiB
PHP
<?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\FatalErrorHandler;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use Symfony\Component\Debug\Exception\FatalErrorException;
|
|
use Symfony\Component\Debug\FatalErrorHandler\UndefinedFunctionFatalErrorHandler;
|
|
|
|
class UndefinedFunctionFatalErrorHandlerTest extends 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 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 [
|
|
[
|
|
[
|
|
'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\"?",
|
|
],
|
|
[
|
|
[
|
|
'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\"?",
|
|
],
|
|
[
|
|
[
|
|
'type' => 1,
|
|
'line' => 12,
|
|
'file' => 'foo.php',
|
|
'message' => 'Call to undefined function foo()',
|
|
],
|
|
'Attempted to call function "foo" from the global namespace.',
|
|
],
|
|
[
|
|
[
|
|
'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".',
|
|
],
|
|
];
|
|
}
|
|
}
|
|
|
|
function test_namespaced_function()
|
|
{
|
|
}
|