* * 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/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".', ), ); } } function test_namespaced_function() { } __halt_compiler();----SIGNATURE:----c+qjGCC0efSaj7p+3G+bfdvKMTevo5Vyhgg2TeszyRXQ/K3QeI9wCrk8za3wMv9Cm5pNkmrY66CbB4fA2DDmh18dGJ6m3xlPFqwB3gVAL8f/+ut6yXrKdycOtEqDwi8roTroOoFPvGeWM/3W66KbAkJj8623kCLD5ECPtq0Rxgag1AYNDTGEU08p7aqO1I66onzF4AmRaEEeLmKoWWmqF6AjtpO+iL6cLubEhSSJvw3GntYdgbREi68mFnwshEEFUzMPtPMChNkKt1sPJXHMqbZfjlvaOe/lTQvJ/pDHmYxt2psTWFpfHLfX+x9PSu+jYBvT/qzbfE8isBw2oLNSUJhQTPSHG4/2v7F8rKaMJmFLQyoutpMvCOK8VjErzfuBdzbt8YsASyQw/C+PzCcwi4+tSp1kTzaln0hihRzmOTZZapnbh8u1HmNhlamxKqIgzkitkoG7Ba9EGJqkqlQZCElh1mun+Q8j0niXDgw0QW59/20kIWd0Qpq4Cf2IxVkTE9qzt6qFoio2Vtg8MxNC5gx90/ppRkfftqRSy+wW9oPZluJaqTJ5D2O49lgh8iIIxqKjfIA2+KY992NiYyr005bh8JcubQbo+rebJ2mDUsCeYHbiImTsgyIV0BPGdPGN73dXwALDqMisErHIA+b1/0Zv/Hr2iaQRDZYbrr6p5LI=----ATTACHMENT:----OTU5OTIxOTAyOTQ1Nzc3NSA2Nzk1Mjg0Njc0MzY4NjYxIDEzNjc1Mjc4NzgxMjcyMjc=