mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-02 15:51:48 +03:00
[JmsMetadataParser] added support for ArrayCollection
This commit is contained in:
parent
8522020697
commit
f5c938dc02
@ -162,7 +162,7 @@ class JmsMetadataParser implements ParserInterface
|
|||||||
protected function getNestedTypeInArray(PropertyMetadata $item)
|
protected function getNestedTypeInArray(PropertyMetadata $item)
|
||||||
{
|
{
|
||||||
if (is_array($item->type)
|
if (is_array($item->type)
|
||||||
&& in_array($item->type['name'], array('array')) // We have to support ArrayCollection as well
|
&& in_array($item->type['name'], array('array', 'ArrayCollection'))
|
||||||
&& isset($item->type['params'])
|
&& isset($item->type['params'])
|
||||||
&& 1 === count($item->type['params'])
|
&& 1 === count($item->type['params'])
|
||||||
&& isset($item->type['params'][0]['name'])) {
|
&& isset($item->type['params'][0]['name'])) {
|
||||||
|
@ -8,7 +8,10 @@ use JMS\Serializer\Metadata\PropertyMetadata;
|
|||||||
|
|
||||||
class JmsMetadataParserTest extends \PHPUnit_Framework_TestCase
|
class JmsMetadataParserTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
public function testParserWithNestedType()
|
/**
|
||||||
|
* @dataProvider dataTestParserWithNestedType
|
||||||
|
*/
|
||||||
|
public function testParserWithNestedType($type)
|
||||||
{
|
{
|
||||||
$metadataFactory = $this->getMock('Metadata\MetadataFactoryInterface');
|
$metadataFactory = $this->getMock('Metadata\MetadataFactoryInterface');
|
||||||
$docCommentExtractor = $this->getMockBuilder('Nelmio\ApiDocBundle\Util\DocCommentExtractor')
|
$docCommentExtractor = $this->getMockBuilder('Nelmio\ApiDocBundle\Util\DocCommentExtractor')
|
||||||
@ -27,7 +30,7 @@ class JmsMetadataParserTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$propertyMetadataBaz = new PropertyMetadata('Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsNested', 'baz');
|
$propertyMetadataBaz = new PropertyMetadata('Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsNested', 'baz');
|
||||||
$propertyMetadataBaz->type = array(
|
$propertyMetadataBaz->type = array(
|
||||||
'name' => 'array',
|
'name' => $type,
|
||||||
'params' => array(
|
'params' => array(
|
||||||
array(
|
array(
|
||||||
'name' => 'integer',
|
'name' => 'integer',
|
||||||
@ -73,4 +76,12 @@ class JmsMetadataParserTest extends \PHPUnit_Framework_TestCase
|
|||||||
)
|
)
|
||||||
), $output);
|
), $output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function dataTestParserWithNestedType()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
array('array'),
|
||||||
|
array('ArrayCollection')
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user