Skip to content

Commit 2ebc2b2

Browse files
committed
[FrameworkBundle] Add missing XML config for circular_reference_handler. Add tests.
1 parent 7065853 commit 2ebc2b2

File tree

5 files changed

+8
-4
lines changed

5 files changed

+8
-4
lines changed

Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@
230230
<xsd:attribute name="cache" type="xsd:string" />
231231
<xsd:attribute name="enable-annotations" type="xsd:boolean" />
232232
<xsd:attribute name="name-converter" type="xsd:string" />
233+
<xsd:attribute name="circular-reference-handler" type="xsd:string" />
233234
</xsd:complexType>
234235

235236
<xsd:complexType name="property_info">

Tests/DependencyInjection/Fixtures/php/full.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
'enabled' => true,
6969
'enable_annotations' => true,
7070
'name_converter' => 'serializer.name_converter.camel_case_to_snake_case',
71+
'circular_reference_handler' => 'my.circular.reference.handler',
7172
),
7273
'property_info' => true,
7374
'ide' => 'file%%link%%format',

Tests/DependencyInjection/Fixtures/xml/full.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
</framework:translator>
4242
<framework:validation enabled="true" />
4343
<framework:annotations cache="file" debug="true" file-cache-dir="%kernel.cache_dir%/annotations" />
44-
<framework:serializer enabled="true" enable-annotations="true" name-converter="serializer.name_converter.camel_case_to_snake_case" />
44+
<framework:serializer enabled="true" enable-annotations="true" name-converter="serializer.name_converter.camel_case_to_snake_case" circular-reference-handler="my.circular.reference.handler" />
4545
<framework:property-info />
4646
</framework:config>
4747
</container>

Tests/DependencyInjection/Fixtures/yml/full.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ framework:
5151
debug: true
5252
file_cache_dir: '%kernel.cache_dir%/annotations'
5353
serializer:
54-
enabled: true
55-
enable_annotations: true
56-
name_converter: serializer.name_converter.camel_case_to_snake_case
54+
enabled: true
55+
enable_annotations: true
56+
name_converter: serializer.name_converter.camel_case_to_snake_case
57+
circular_reference_handler: my.circular.reference.handler
5758
property_info: ~
5859
ide: file%%link%%format
5960
request:

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -781,6 +781,7 @@ public function testSerializerEnabled()
781781
$this->assertNull($container->getDefinition('serializer.mapping.class_metadata_factory')->getArgument(1));
782782
$this->assertEquals(new Reference('serializer.name_converter.camel_case_to_snake_case'), $container->getDefinition('serializer.normalizer.object')->getArgument(1));
783783
$this->assertEquals(new Reference('property_info', ContainerBuilder::IGNORE_ON_INVALID_REFERENCE), $container->getDefinition('serializer.normalizer.object')->getArgument(3));
784+
$this->assertEquals(array('setCircularReferenceHandler', array(new Reference('my.circular.reference.handler'))), $container->getDefinition('serializer.normalizer.object')->getMethodCalls()[0]);
784785
}
785786

786787
public function testRegisterSerializerExtractor()

0 commit comments

Comments
 (0)