2013-07-24 05:59:37 +01:00
< ? 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 Symfony\Component\Debug\ErrorHandler ;
use Symfony\Component\Debug\Exception\FatalErrorException ;
use Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler ;
class ClassNotFoundFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase
{
/**
* @ dataProvider provideClassNotFoundData
*/
public function testClassNotFound ( $error , $translatedMessage )
{
$handler = new ClassNotFoundFatalErrorHandler ();
$exception = $handler -> handleError ( $error , new FatalErrorException ( '' , 0 , $error [ 'type' ], $error [ 'file' ], $error [ 'line' ]));
$this -> assertInstanceof ( 'Symfony\Component\Debug\Exception\ClassNotFoundException' , $exception );
$this -> assertSame ( $translatedMessage , $exception -> getMessage ());
$this -> assertSame ( $error [ 'type' ], $exception -> getSeverity ());
$this -> assertSame ( $error [ 'file' ], $exception -> getFile ());
$this -> assertSame ( $error [ 'line' ], $exception -> getLine ());
}
public function provideClassNotFoundData ()
{
return array (
array (
array (
'type' => 1 ,
'line' => 12 ,
'file' => 'foo.php' ,
2013-08-30 12:26:06 +01:00
'message' => 'Class \'WhizBangFactory\' not found' ,
2013-07-24 05:59:37 +01:00
),
'Attempted to load class "WhizBangFactory" from the global namespace in foo.php line 12. Did you forget a use statement for this class?' ,
),
array (
array (
'type' => 1 ,
'line' => 12 ,
'file' => 'foo.php' ,
2013-08-30 12:26:06 +01:00
'message' => 'Class \'Foo\\Bar\\WhizBangFactory\' not found' ,
2013-07-24 05:59:37 +01:00
),
'Attempted to load class "WhizBangFactory" from namespace "Foo\\Bar" in foo.php line 12. Do you need to "use" it from another namespace?' ,
),
array (
array (
'type' => 1 ,
'line' => 12 ,
'file' => 'foo.php' ,
2013-08-30 12:26:06 +01:00
'message' => 'Class \'UndefinedFunctionException\' not found' ,
2013-07-24 05:59:37 +01:00
),
2013-07-28 21:44:44 +01:00
'Attempted to load class "UndefinedFunctionException" from the global namespace in foo.php line 12. Did you forget a use statement for this class? Perhaps you need to add a use statement for one of the following: Symfony\Component\Debug\Exception\UndefinedFunctionException.' ,
2013-07-24 05:59:37 +01:00
),
array (
array (
'type' => 1 ,
'line' => 12 ,
'file' => 'foo.php' ,
2013-08-30 12:26:06 +01:00
'message' => 'Class \'PEARClass\' not found' ,
2013-07-24 05:59:37 +01:00
),
2013-07-28 21:44:44 +01:00
'Attempted to load class "PEARClass" from the global namespace in foo.php line 12. Did you forget a use statement for this class? Perhaps you need to add a use statement for one of the following: Symfony_Component_Debug_Tests_Fixtures_PEARClass.' ,
2013-07-24 05:59:37 +01:00
),
array (
array (
'type' => 1 ,
'line' => 12 ,
'file' => 'foo.php' ,
2013-08-30 12:26:06 +01:00
'message' => 'Class \'Foo\\Bar\\UndefinedFunctionException\' not found' ,
2013-07-24 05:59:37 +01:00
),
2013-07-28 21:44:44 +01:00
'Attempted to load class "UndefinedFunctionException" from namespace "Foo\Bar" in foo.php line 12. Do you need to "use" it from another namespace? Perhaps you need to add a use statement for one of the following: Symfony\Component\Debug\Exception\UndefinedFunctionException.' ,
2013-07-24 05:59:37 +01:00
),
);
}
}