forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | /* | ||
|  |  * This file is part of Psy Shell. | ||
|  |  * | ||
|  |  * (c) 2012-2018 Justin Hileman | ||
|  |  * | ||
|  |  * For the full copyright and license information, please view the LICENSE | ||
|  |  * file that was distributed with this source code. | ||
|  |  */ | ||
|  | 
 | ||
|  | namespace Psy\Test\CodeCleaner; | ||
|  | 
 | ||
|  | use Psy\CodeCleaner\ValidConstantPass; | ||
|  | 
 | ||
|  | class ValidConstantPassTest extends CodeCleanerTestCase | ||
|  | { | ||
|  |     public function setUp() | ||
|  |     { | ||
|  |         $this->setPass(new ValidConstantPass()); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider getInvalidReferences | ||
|  |      * @expectedException \Psy\Exception\FatalErrorException | ||
|  |      */ | ||
|  |     public function testProcessInvalidConstantReferences($code) | ||
|  |     { | ||
|  |         $this->parseAndTraverse($code); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function getInvalidReferences() | ||
|  |     { | ||
|  |         return [ | ||
|  |             ['Foo\BAR'], | ||
|  | 
 | ||
|  |             // class constant fetch
 | ||
|  |             ['Psy\Test\CodeCleaner\ValidConstantPassTest::FOO'], | ||
|  |             ['DateTime::BACON'], | ||
|  |         ]; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider getValidReferences | ||
|  |      */ | ||
|  |     public function testProcessValidConstantReferences($code) | ||
|  |     { | ||
|  |         $this->parseAndTraverse($code); | ||
|  |         $this->assertTrue(true); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function getValidReferences() | ||
|  |     { | ||
|  |         return [ | ||
|  |             ['PHP_EOL'], | ||
|  | 
 | ||
|  |             // class constant fetch
 | ||
|  |             ['NotAClass::FOO'], | ||
|  |             ['DateTime::ATOM'], | ||
|  |             ['$a = new DateTime; $a::ATOM'], | ||
|  |             ['DateTime::class'], | ||
|  |             ['$a = new DateTime; $a::class'], | ||
|  |         ]; | ||
|  |     } | ||
|  | } |