89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * phpDocumentor
 | |
|  *
 | |
|  * PHP Version 5.5
 | |
|  *
 | |
|  * @copyright 2010-2015 Mike van Riel / Naenius (http://www.naenius.com)
 | |
|  * @license   http://www.opensource.org/licenses/mit-license.php MIT
 | |
|  * @link      http://phpdoc.org
 | |
|  */
 | |
| 
 | |
| namespace phpDocumentor\Reflection;
 | |
| 
 | |
| /**
 | |
|  * Class FqsenTest
 | |
|  * @coversDefaultClass phpDocumentor\Reflection\Fqsen
 | |
|  */
 | |
| class FqsenTest extends \PHPUnit_Framework_TestCase
 | |
| {
 | |
|     /**
 | |
|      * @param string $fqsen
 | |
|      * @covers ::__construct
 | |
|      * @dataProvider validFqsenProvider
 | |
|      */
 | |
|     public function testValidFormats($fqsen, $name)
 | |
|     {
 | |
|         $instance  = new Fqsen($fqsen);
 | |
|         $this->assertEquals($name, $instance->getName());
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Data provider for ValidFormats tests. Contains a complete list from psr-5 draft.
 | |
|      *
 | |
|      * @return array
 | |
|      */
 | |
|     public function validFqsenProvider()
 | |
|     {
 | |
|         return [
 | |
|             ['\\', ''],
 | |
|             ['\My\Space', 'Space'],
 | |
|             ['\My\Space\myFunction()', 'myFunction'],
 | |
|             ['\My\Space\MY_CONSTANT', 'MY_CONSTANT'],
 | |
|             ['\My\Space\MY_CONSTANT2', 'MY_CONSTANT2'],
 | |
|             ['\My\Space\MyClass', 'MyClass'],
 | |
|             ['\My\Space\MyInterface', 'MyInterface'],
 | |
|             ['\My\Space\MyTrait', 'MyTrait'],
 | |
|             ['\My\Space\MyClass::myMethod()', 'myMethod'],
 | |
|             ['\My\Space\MyClass::$my_property', 'my_property'],
 | |
|             ['\My\Space\MyClass::MY_CONSTANT', 'MY_CONSTANT'],
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @param string $fqsen
 | |
|      * @covers ::__construct
 | |
|      * @dataProvider invalidFqsenProvider
 | |
|      * @expectedException \InvalidArgumentException
 | |
|      */
 | |
|     public function testInValidFormats($fqsen)
 | |
|     {
 | |
|         new Fqsen($fqsen);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Data provider for invalidFormats tests. Contains a complete list from psr-5 draft.
 | |
|      *
 | |
|      * @return array
 | |
|      */
 | |
|     public function invalidFqsenProvider()
 | |
|     {
 | |
|         return [
 | |
|             ['\My\*'],
 | |
|             ['\My\Space\.()'],
 | |
|             ['My\Space'],
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @covers ::__construct
 | |
|      * @covers ::__toString
 | |
|      */
 | |
|     public function testToString()
 | |
|     {
 | |
|         $className = new Fqsen('\\phpDocumentor\\Application');
 | |
| 
 | |
|         $this->assertEquals('\\phpDocumentor\\Application', (string)$className);
 | |
|     }
 | |
| }
 | 
