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