/** * @covers phpDocumentor\Descriptor\Type\CollectionDescriptor::getTypes * @covers phpDocumentor\Descriptor\Type\CollectionDescriptor::setTypes */ public function testSetAndRetrieveTypes() { $expected = new UnknownTypeDescriptor('array'); $this->fixture->setTypes(array($expected)); $this->assertSame(array($expected), $this->fixture->getTypes()); }
/** * Renders the view representation for an array or collection. * * @param CollectionDescriptor $value * @param string $presentation * * @return string */ protected function renderTypeCollection($value, $presentation) { $baseType = $this->render($value->getBaseType(), $presentation); $keyTypes = $this->render($value->getKeyTypes(), $presentation); $types = $this->render($value->getTypes(), $presentation); $arguments = array(); if ($keyTypes) { $arguments[] = implode('|', $keyTypes); } $arguments[] = implode('|', $types); if ($value->getName() == 'array' && count($value->getKeyTypes()) == 0) { $typeString = count($types) > 1 ? '(' . reset($arguments) . ')' : reset($arguments); $collection = $typeString . '[]'; } else { $collection = ($baseType ?: $value->getName()) . '<' . implode(',', $arguments) . '>'; } return $collection; }