Skip to content

Commit f95bc45

Browse files
Merge branch '5.4' into 6.2
* 5.4: [Serializer] Preserve array keys while denormalize variadic parameters [FrameworkBundle] enable metadata cache when annotation is disabled TranslatorBag::diff now iterates over catalogue domains instead of operation domains [HttpClient] Fix not calling the on progress callback when canceling a MockResponse [TwigBridge] Fix raw content rendering in HTML notification emails
2 parents 0563093 + 6cb4f6a commit f95bc45

File tree

6 files changed

+51
-6
lines changed

6 files changed

+51
-6
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1773,9 +1773,6 @@ private function registerSecurityCsrfConfiguration(array $config, ContainerBuild
17731773
private function registerSerializerConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader)
17741774
{
17751775
$loader->load('serializer.php');
1776-
if ($container->getParameter('kernel.debug')) {
1777-
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
1778-
}
17791776

17801777
$chainLoader = $container->getDefinition('serializer.mapping.chain_loader');
17811778

@@ -1798,6 +1795,10 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
17981795

17991796
$serializerLoaders = [];
18001797
if (isset($config['enable_annotations']) && $config['enable_annotations']) {
1798+
if ($container->getParameter('kernel.debug')) {
1799+
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
1800+
}
1801+
18011802
$annotationLoader = new Definition(
18021803
AnnotationLoader::class,
18031804
[new Reference('annotation_reader', ContainerInterface::NULL_ON_INVALID_REFERENCE)]

Resources/config/validator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
$container->parameters()
2929
->set('validator.mapping.cache.file', param('kernel.cache_dir').'/validation.php');
3030

31-
$validatorsDir = \dirname((new \ReflectionClass(WhenValidator::class))->getFileName());
31+
$validatorsDir = \dirname((new \ReflectionClass(EmailValidator::class))->getFileName());
3232

3333
$container->services()
3434
->set('validator', ValidatorInterface::class)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', [
4+
'serializer' => [
5+
'enable_annotations' => false,
6+
'mapping' => [
7+
'paths' => [
8+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files',
9+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml',
10+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml',
11+
],
12+
],
13+
],
14+
]);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" ?>
2+
3+
<container xmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xmlns:framework="http://symfony.com/schema/dic/symfony">
6+
7+
<framework:config>
8+
<framework:serializer enable-annotations="false">
9+
<framework:mapping>
10+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files</framework:path>
11+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml</framework:path>
12+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml</framework:path>
13+
</framework:mapping>
14+
</framework:serializer>
15+
</framework:config>
16+
</container>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
framework:
2+
serializer:
3+
enable_annotations: false
4+
mapping:
5+
paths:
6+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files"
7+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml"
8+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml"

Tests/DependencyInjection/FrameworkExtensionTestCase.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1516,9 +1516,15 @@ public function testSerializerCacheActivated()
15161516
$this->assertEquals(new Reference('serializer.mapping.cache.symfony'), $cache);
15171517
}
15181518

1519-
public function testSerializerCacheNotActivatedDebug()
1519+
public function testSerializerCacheUsedWithoutAnnotationsAndMappingFiles()
15201520
{
1521-
$container = $this->createContainerFromFile('serializer_enabled', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
1521+
$container = $this->createContainerFromFile('serializer_mapping_without_annotations', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
1522+
$this->assertTrue($container->hasDefinition('serializer.mapping.cache_class_metadata_factory'));
1523+
}
1524+
1525+
public function testSerializerCacheNotActivatedWithAnnotations()
1526+
{
1527+
$container = $this->createContainerFromFile('serializer_mapping', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
15221528
$this->assertFalse($container->hasDefinition('serializer.mapping.cache_class_metadata_factory'));
15231529
}
15241530

0 commit comments

Comments
 (0)