Chris@16: getDeclaringClass(); Chris@16: Chris@16: $this->assertInstanceOf('ReflectionClass', $class); Chris@16: $this->assertSame('Psy\Test\Reflection\ReflectionClassConstantTest', $class->getName()); Chris@16: $this->assertSame('CONSTANT_ONE', $refl->getName()); Chris@16: $this->assertSame('CONSTANT_ONE', (string) $refl); Chris@16: $this->assertSame('one', $refl->getValue()); Chris@16: $this->assertNull($refl->getFileName()); Chris@16: $this->assertFalse($refl->getDocComment()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @expectedException \InvalidArgumentException Chris@16: */ Chris@16: public function testUnknownConstantThrowsException() Chris@16: { Chris@16: new ReflectionClassConstant($this, 'UNKNOWN_CONSTANT'); Chris@16: } Chris@16: Chris@16: public function testExport() Chris@16: { Chris@16: $ret = ReflectionClassConstant::export($this, 'CONSTANT_ONE', true); Chris@16: $this->assertEquals($ret, 'Constant [ public string CONSTANT_ONE ] { one }'); Chris@16: } Chris@16: Chris@16: public function testExportOutput() Chris@16: { Chris@16: $this->expectOutputString("Constant [ public string CONSTANT_ONE ] { one }\n"); Chris@16: ReflectionClassConstant::export($this, 'CONSTANT_ONE', false); Chris@16: } Chris@16: Chris@16: public function testModifiers() Chris@16: { Chris@16: $refl = new ReflectionClassConstant($this, 'CONSTANT_ONE'); Chris@16: Chris@16: $this->assertEquals(\ReflectionMethod::IS_PUBLIC, $refl->getModifiers()); Chris@16: $this->assertFalse($refl->isPrivate()); Chris@16: $this->assertFalse($refl->isProtected()); Chris@16: $this->assertTrue($refl->isPublic()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @expectedException \RuntimeException Chris@16: * @dataProvider notYetImplemented Chris@16: */ Chris@16: public function testNotYetImplemented($method) Chris@16: { Chris@16: $refl = new ReflectionClassConstant($this, 'CONSTANT_ONE'); Chris@16: $refl->$method(); Chris@16: } Chris@16: Chris@16: public function notYetImplemented() Chris@16: { Chris@16: return [ Chris@16: ['getStartLine'], Chris@16: ['getEndLine'], Chris@16: ]; Chris@16: } Chris@16: }