sonarrradarrplexorganizrnginxdashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboard
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							95 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							95 lines
						
					
					
						
							3.0 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\Formatter;
							 | 
						|
								
							 | 
						|
								use Psy\Formatter\SignatureFormatter;
							 | 
						|
								use Psy\Reflection\ReflectionClassConstant;
							 | 
						|
								use Psy\Reflection\ReflectionConstant_;
							 | 
						|
								
							 | 
						|
								class SignatureFormatterTest extends \PHPUnit\Framework\TestCase
							 | 
						|
								{
							 | 
						|
								    const FOO = 'foo value';
							 | 
						|
								    private static $bar = 'bar value';
							 | 
						|
								
							 | 
						|
								    private function someFakeMethod(array $one, $two = 'TWO', \Reflector $three = null)
							 | 
						|
								    {
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @dataProvider signatureReflectors
							 | 
						|
								     */
							 | 
						|
								    public function testFormat($reflector, $expected)
							 | 
						|
								    {
							 | 
						|
								        $this->assertSame($expected, strip_tags(SignatureFormatter::format($reflector)));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function signatureReflectors()
							 | 
						|
								    {
							 | 
						|
								        return [
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionFunction('implode'),
							 | 
						|
								                defined('HHVM_VERSION') ? 'function implode($arg1, $arg2 = null)' : 'function implode($glue, $pieces)',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                ReflectionClassConstant::create($this, 'FOO'),
							 | 
						|
								                'const FOO = "foo value"',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionMethod($this, 'someFakeMethod'),
							 | 
						|
								                'private function someFakeMethod(array $one, $two = \'TWO\', Reflector $three = null)',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionProperty($this, 'bar'),
							 | 
						|
								                'private static $bar',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionClass('Psy\CodeCleaner\CodeCleanerPass'),
							 | 
						|
								                'abstract class Psy\CodeCleaner\CodeCleanerPass '
							 | 
						|
								                . 'extends PhpParser\NodeVisitorAbstract '
							 | 
						|
								                . 'implements PhpParser\NodeVisitor',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionFunction('array_chunk'),
							 | 
						|
								                'function array_chunk($arg, $size, $preserve_keys = unknown)',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionClass('Psy\Test\Formatter\Fixtures\BoringTrait'),
							 | 
						|
								                'trait Psy\Test\Formatter\Fixtures\BoringTrait',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new \ReflectionMethod('Psy\Test\Formatter\Fixtures\BoringTrait', 'boringMethod'),
							 | 
						|
								                'public function boringMethod($one = 1)',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new ReflectionConstant_('E_ERROR'),
							 | 
						|
								                'define("E_ERROR", 1)',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new ReflectionConstant_('PHP_VERSION'),
							 | 
						|
								                'define("PHP_VERSION", "' . PHP_VERSION . '")',
							 | 
						|
								            ],
							 | 
						|
								            [
							 | 
						|
								                new ReflectionConstant_('__LINE__'),
							 | 
						|
								                'define("__LINE__", null)', // @todo show this as `unknown` in red or something?
							 | 
						|
								            ],
							 | 
						|
								        ];
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @expectedException \InvalidArgumentException
							 | 
						|
								     */
							 | 
						|
								    public function testSignatureFormatterThrowsUnknownReflectorExpeption()
							 | 
						|
								    {
							 | 
						|
								        $refl = $this->getMockBuilder('Reflector')->getMock();
							 | 
						|
								        SignatureFormatter::format($refl);
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |