Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 4a39eb4

Browse filesBrowse files
committed
[Serializer] Fix ObjectNormalizer that doesn't use default_context config option
1 parent c542a03 commit 4a39eb4
Copy full SHA for 4a39eb4

File tree

3 files changed

+23
-1
lines changed
Filter options

3 files changed

+23
-1
lines changed

‎src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@
124124
service('property_info')->ignoreOnInvalid(),
125125
service('serializer.mapping.class_discriminator_resolver')->ignoreOnInvalid(),
126126
null,
127-
[],
128127
])
129128
->tag('serializer.normalizer', ['priority' => -1000])
130129

‎src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SerializerTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/Functional/SerializerTest.php
+16Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ public function testDeserializeArrayOfObject()
3232

3333
$this->assertEquals($expected, $result);
3434
}
35+
36+
public function testObjectNormalizerUsesDefaultContextConfigOption()
37+
{
38+
static::bootKernel(['test_case' => 'Serializer']);
39+
40+
$serializer = static::getContainer()->get('serializer.normalizer.object.alias');
41+
42+
$reflectionObject = new \ReflectionObject($serializer);
43+
$property = $reflectionObject->getProperty('defaultContext');
44+
$property->setAccessible(true);
45+
46+
$defaultContext = $property->getValue($serializer);
47+
48+
self::assertArrayHasKey('fake_context_option', $defaultContext);
49+
self::assertEquals('foo', $defaultContext['fake_context_option']);
50+
}
3551
}
3652

3753
class Foo

‎src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Serializer/config.yml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/Serializer/config.yml
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@ framework:
66
enabled: true
77
default_context:
88
enable_max_depth: true
9+
# The option below is used in \Symfony\Bundle\FrameworkBundle\Tests\Functional\SerializerTest::testObjectNormalizerUsesDefaultContextConfigOption
10+
# to assert that the `default_context` is taken into account in serializers
11+
fake_context_option: foo
912
property_info: { enabled: true }
1013

1114
services:
1215
serializer.alias:
1316
alias: serializer
1417
public: true
18+
19+
serializer.normalizer.object.alias:
20+
alias: serializer.normalizer.object
21+
public: true

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.