Skip to content

Commit 4190bfa

Browse files
GuilhemNfabpot
authored andcommitted
[PropertyInfo] Support using the SerializerExtractor with no group check
1 parent 608b770 commit 4190bfa

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/Symfony/Component/PropertyInfo/Extractor/SerializerExtractor.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public function __construct(ClassMetadataFactoryInterface $classMetadataFactory)
3535
*/
3636
public function getProperties(string $class, array $context = []): ?array
3737
{
38-
if (!isset($context['serializer_groups']) || !\is_array($context['serializer_groups'])) {
38+
if (!\array_key_exists('serializer_groups', $context) || (null !== $context['serializer_groups'] && !\is_array($context['serializer_groups']))) {
3939
return null;
4040
}
4141

@@ -48,7 +48,7 @@ public function getProperties(string $class, array $context = []): ?array
4848

4949
foreach ($serializerClassMetadata->getAttributesMetadata() as $serializerAttributeMetadata) {
5050
$ignored = method_exists($serializerClassMetadata, 'isIgnored') && $serializerAttributeMetadata->isIgnored();
51-
if (!$ignored && array_intersect($context['serializer_groups'], $serializerAttributeMetadata->getGroups())) {
51+
if (!$ignored && (null === $context['serializer_groups'] || array_intersect($context['serializer_groups'], $serializerAttributeMetadata->getGroups()))) {
5252
$properties[] = $serializerAttributeMetadata->getName();
5353
}
5454
}

src/Symfony/Component/PropertyInfo/Tests/Extractor/SerializerExtractorTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,9 @@ public function testGetProperties()
4040
$this->extractor->getProperties('Symfony\Component\PropertyInfo\Tests\Fixtures\Dummy', ['serializer_groups' => ['a']])
4141
);
4242
}
43+
44+
public function testGetPropertiesWithAnyGroup()
45+
{
46+
$this->assertSame(['analyses', 'feet'], $this->extractor->getProperties('Symfony\Component\PropertyInfo\Tests\Fixtures\AdderRemoverDummy', ['serializer_groups' => null]));
47+
}
4348
}

0 commit comments

Comments
 (0)