radarrplexorganizrnginxsonarrdashboardembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdall
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							102 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							102 lines
						
					
					
						
							2.4 KiB
						
					
					
				| <?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\Reflection; | |
| 
 | |
| use Psy\Reflection\ReflectionLanguageConstruct; | |
| 
 | |
| class ReflectionLanguageConstructTest extends \PHPUnit\Framework\TestCase | |
| { | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      */ | |
|     public function testConstruction($keyword) | |
|     { | |
|         $refl = new ReflectionLanguageConstruct($keyword); | |
|         $this->assertEquals($keyword, $refl->getName()); | |
|         $this->assertEquals($keyword, (string) $refl); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      */ | |
|     public function testKnownLanguageConstructs($keyword) | |
|     { | |
|         $this->assertTrue(ReflectionLanguageConstruct::isLanguageConstruct($keyword)); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      */ | |
|     public function testFileName($keyword) | |
|     { | |
|         $refl = new ReflectionLanguageConstruct($keyword); | |
|         $this->assertFalse($refl->getFileName()); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      */ | |
|     public function testReturnsReference($keyword) | |
|     { | |
|         $refl = new ReflectionLanguageConstruct($keyword); | |
|         $this->assertFalse($refl->returnsReference()); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      */ | |
|     public function testGetParameters($keyword) | |
|     { | |
|         $refl = new ReflectionLanguageConstruct($keyword); | |
|         $this->assertNotEmpty($refl->getParameters()); | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider languageConstructs | |
|      * @expectedException \RuntimeException | |
|      */ | |
|     public function testExportThrows($keyword) | |
|     { | |
|         ReflectionLanguageConstruct::export($keyword); | |
|     } | |
| 
 | |
|     public function languageConstructs() | |
|     { | |
|         return [ | |
|             ['isset'], | |
|             ['unset'], | |
|             ['empty'], | |
|             ['echo'], | |
|             ['print'], | |
|             ['die'], | |
|             ['exit'], | |
|         ]; | |
|     } | |
| 
 | |
|     /** | |
|      * @dataProvider unknownLanguageConstructs | |
|      * @expectedException \InvalidArgumentException | |
|      */ | |
|     public function testUnknownLanguageConstructsThrowExceptions($keyword) | |
|     { | |
|         new ReflectionLanguageConstruct($keyword); | |
|     } | |
| 
 | |
|     public function unknownLanguageConstructs() | |
|     { | |
|         return [ | |
|             ['async'], | |
|             ['await'], | |
|             ['comefrom'], | |
|         ]; | |
|     } | |
| }
 | |
| 
 |