8000 [Serializer] Handle default context in named Serializer · symfony/symfony@8cb8f55 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8cb8f55

Browse files
committed
[Serializer] Handle default context in named Serializer
1 parent 04738bc commit 8cb8f55

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/Symfony/Component/Serializer/DependencyInjection/SerializerPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ private function configureNamedSerializers(ContainerBuilder $container): void
151151

152152
$this->bindDefaultContext($container, array_merge($normalizers, $encoders), $config['default_context']);
153153

154-
$container->registerChild($serializerId, 'serializer');
154+
$container->registerChild($serializerId, 'serializer')->setArgument('$defaultContext', $config['default_context']);
155155
$container->registerAliasForArgument($serializerId, SerializerInterface::class, $serializerName.'.serializer');
156156

157157
$this->configureSerializer($container, $serializerId, $normalizers, $encoders, $serializerName);

src/Symfony/Component/Serializer/Tests/DependencyInjection/SerializerPassTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ public function testBindSerializerDefaultContextToNamedSerializers()
556556
'api' => ['default_context' => $defaultContext = ['enable_max_depth' => true]],
557557
]);
558558

559-
$container->register('serializer')->setArguments([null, null]);
559+
$container->register('serializer')->setArguments([null, null, []]);
560560
$definition = $container->register('n1')
561561
->addTag('serializer.normalizer', ['serializer' => '*'])
562562
->addTag('serializer.encoder', ['serializer' => '*'])
@@ -570,6 +570,8 @@ public function testBindSerializerDefaultContextToNamedSerializers()
570570
$bindings = $container->getDefinition('n1.api')->getBindings();
571571
$this->assertArrayHasKey('array $defaultContext', $bindings);
572572
$this->assertEquals($bindings['array $defaultContext'], new BoundArgument($defaultContext, false));
573+
$this->assertArrayNotHasKey('$defaultContext', $container->getDefinition('serializer')->getArguments());
574+
$this->assertEquals($defaultContext, $container->getDefinition('serializer.api')->getArgument('$defaultContext'));
573575
}
574576

575577
public function testNamedSerializersAreRegistered()

0 commit comments

Comments
 (0)
0