/** * @covers phpDocumentor\Descriptor\ConstantDescriptor::getTypes * @covers phpDocumentor\Descriptor\ConstantDescriptor::getVar */ public function testGetTypesUsingInheritanceOfVarTag() { $expected = array('string', 'null'); $constantName = 'CONSTANT'; $this->fixture->setName($constantName); $parentClass = $this->createParentClassWithSuperClassAndConstant($expected, $constantName); // Attempt to get the types; which come from the superclass' constants $this->fixture->setParent($parentClass); $types = $this->fixture->getTypes(); $this->assertSame($expected, $types); }
/** * Creates a Descriptor from the provided data. * * @param ConstantReflector $data * * @return ConstantDescriptor */ public function create($data) { $constantDescriptor = new ConstantDescriptor(); $constantDescriptor->setName($data->getShortName()); $constantDescriptor->setValue($data->getValue()); // Reflection library formulates namespace as global but this is not wanted for phpDocumentor itself $constantDescriptor->setNamespace('\\' . (strtolower($data->getNamespace()) == 'global' ? '' : $data->getNamespace())); $constantDescriptor->setFullyQualifiedStructuralElementName((trim($constantDescriptor->getNamespace(), '\\') ? $constantDescriptor->getNamespace() : '') . '\\' . $data->getShortName()); $this->assembleDocBlock($data->getDocBlock(), $constantDescriptor); $constantDescriptor->setLine($data->getLinenumber()); return $constantDescriptor; }
/** * @covers phpDocumentor\Descriptor\InterfaceDescriptor::getInheritedConstants */ public function testGetInheritedConstantsWithClassDescriptorParent() { $parentDescriptor = new ConstantDescriptor(); $parentDescriptor->setName('parent'); $parentDescriptorCollection = new Collection(); $parentDescriptorCollection->add($parentDescriptor); $parent = new InterfaceDescriptor(); $parent->setConstants($parentDescriptorCollection); $grandParentDescriptor = new ConstantDescriptor(); $grandParentDescriptor->setName('grandparent'); $grandParentDescriptorCollection = new Collection(); $grandParentDescriptorCollection->add($grandParentDescriptor); $grandParent = new InterfaceDescriptor(); $grandParent->setConstants($grandParentDescriptorCollection); $grandParentCollection = new Collection(); $grandParentCollection->add($grandParent); $parent->setParent($grandParentCollection); $parentCollection = new Collection(); $parentCollection->add($parent); $this->fixture->setParent($parentCollection); $result = $this->fixture->getInheritedConstants(); $this->assertInstanceOf('phpDocumentor\\Descriptor\\Collection', $result); $this->assertSame(array($parentDescriptor, $grandParentDescriptor), $result->getAll()); }
/** * @param string $name The name of the current constant. * * @return ConstantDescriptor */ protected function whenFixtureHasConstantInParentClassWithSameName($name) { $result = new ConstantDescriptor(); $result->setName($name); $parent = new ClassDescriptor(); $parent->getConstants()->set($name, $result); $class = new ClassDescriptor(); $class->setParent($parent); $this->fixture->setParent($class); return $result; }