Skip to content

Commit 16c4d18

Browse files
Merge branch '3.4'
* 3.4: (21 commits) fixed CS HttpCache lock update [Intl] Update ICU data to 60.1 [YAML] Allow to parse custom tags when linting yaml files [HttpKernel][Debug] Remove noise from stack frames of deprecations [WebServerBundle] prevent console.terminate from being fired after stopping server [Validator] Fix Costa Rica IBAN format [Bridge/ProxyManager] Remove direct reference to value holder property [Validator] Add Belarus IBAN format [Config] Fix cannotBeEmpty() [Debug] More aggressively aggregate silenced notices per file+line [HttpFoundation] minor session-related fix [Cache][Lock] Add RedisProxy for lazy Redis connections [TwigBridge] [Bootstrap 4] Fix validation error design for expanded choiceType [FrameworkBundle] Specifically inject the debug dispatcher in the collector [WebserverBundle] fixed the bug that caused that the webserver would … update the pull request template [Stopwatch] minor fix Add default mapping path for validator component Add default mapping path for serializer component ...
2 parents 15a2c26 + 4a640ec commit 16c4d18

File tree

6 files changed

+33
-9
lines changed

6 files changed

+33
-9
lines changed

DependencyInjection/Compiler/CachePoolPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public static function getServiceProvider(ContainerBuilder $container, $name)
134134
$definition = new Definition(AbstractAdapter::class);
135135
$definition->setPublic(false);
136136
$definition->setFactory(array(AbstractAdapter::class, 'createConnection'));
137-
$definition->setArguments(array($dsn));
137+
$definition->setArguments(array($dsn, array('lazy' => true)));
138138
$container->setDefinition($name, $definition);
139139
}
140140
}

DependencyInjection/FrameworkExtension.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,11 @@ private function registerValidatorMapping(ContainerBuilder $container, array $co
10211021
}
10221022
}
10231023

1024+
$projectDir = $container->getParameter('kernel.project_dir');
1025+
if ($container->fileExists($dir = $projectDir.'/config/validator', '/^$/')) {
1026+
$this->registerMappingFilesFromDir($dir, $fileRecorder);
1027+
}
1028+
10241029
$this->registerMappingFilesFromConfig($container, $config, $fileRecorder);
10251030
}
10261031

@@ -1188,6 +1193,11 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
11881193
}
11891194
}
11901195

1196+
$projectDir = $container->getParameter('kernel.project_dir');
1197+
if ($container->fileExists($dir = $projectDir.'/config/serializer', '/^$/')) {
1198+
$this->registerMappingFilesFromDir($dir, $fileRecorder);
1199+
}
1200+
11911201
$this->registerMappingFilesFromConfig($container, $config, $fileRecorder);
11921202

11931203
$chainLoader->replaceArgument(0, $serializerLoaders);
@@ -1253,7 +1263,7 @@ private function registerLockConfiguration(array $config, ContainerBuilder $cont
12531263
$connectionDefinition = new Definition(\stdClass::class);
12541264
$connectionDefinition->setPublic(false);
12551265
$connectionDefinition->setFactory(array(AbstractAdapter::class, 'createConnection'));
1256-
$connectionDefinition->setArguments(array($storeDsn));
1266+
$connectionDefinition->setArguments(array($storeDsn, array('lazy' => true)));
12571267
$container->setDefinition($connectionDefinitionId, $connectionDefinition);
12581268
}
12591269

Resources/config/collectors.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
<service id="data_collector.events" class="Symfony\Component\HttpKernel\DataCollector\EventDataCollector">
2929
<tag name="data_collector" template="@WebProfiler/Collector/events.html.twig" id="events" priority="290" />
30-
<argument type="service" id="event_dispatcher" on-invalid="ignore" />
30+
<argument type="service" id="debug.event_dispatcher" on-invalid="ignore" />
3131
</service>
3232

3333
<service id="data_collector.logger" class="Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector">

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,13 @@ public function testTemplatingRequiresAtLeastOneEngine()
536536
public function testValidation()
537537
{
538538
$container = $this->createContainerFromFile('full');
539+
$projectDir = $container->getParameter('kernel.project_dir');
539540

540541
$ref = new \ReflectionClass('Symfony\Component\Form\Form');
541-
$xmlMappings = array(dirname($ref->getFileName()).'/Resources/config/validation.xml');
542+
$xmlMappings = array(
543+
dirname($ref->getFileName()).'/Resources/config/validation.xml',
544+
strtr($projectDir.'/config/validator/foo.xml', '/', DIRECTORY_SEPARATOR),
545+
);
542546

543547
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
544548

@@ -626,7 +630,7 @@ public function testValidationPaths()
626630
$this->assertEquals(array(new Reference('validator.mapping.cache.symfony')), $calls[7][1]);
627631

628632
$xmlMappings = $calls[3][1][0];
629-
$this->assertCount(2, $xmlMappings);
633+
$this->assertCount(3, $xmlMappings);
630634
try {
631635
// Testing symfony/symfony
632636
$this->assertStringEndsWith('Component'.DIRECTORY_SEPARATOR.'Form/Resources/config/validation.xml', $xmlMappings[0]);
@@ -652,7 +656,7 @@ public function testValidationPathsUsingCustomBundlePath()
652656

653657
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
654658
$xmlMappings = $calls[3][1][0];
655-
$this->assertCount(2, $xmlMappings);
659+
$this->assertCount(3, $xmlMappings);
656660

657661
try {
658662
// Testing symfony/symfony
@@ -694,7 +698,7 @@ public function testValidationMapping()
694698
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
695699

696700
$this->assertSame('addXmlMappings', $calls[3][0]);
697-
$this->assertCount(2, $calls[3][1][0]);
701+
$this->assertCount(3, $calls[3][1][0]);
698702

699703
$this->assertSame('addYamlMappings', $calls[4][0]);
700704
$this->assertCount(3, $calls[4][1][0]);
@@ -742,7 +746,7 @@ public function testSerializerEnabled()
742746

743747
$argument = $container->getDefinition('serializer.mapping.chain_loader')->getArgument(0);
744748

745-
$this->assertCount(1, $argument);
749+
$this->assertCount(2, $argument);
746750
$this->assertEquals('Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader', $argument[0]->getClass());
747751
$this->assertNull($container->getDefinition('serializer.mapping.class_metadata_factory')->getArgument(1));
748752
$this->assertEquals(new Reference('serializer.name_converter.camel_case_to_snake_case'), $container->getDefinition('serializer.normalizer.object')->getArgument(1));
@@ -839,23 +843,33 @@ public function testSerializerCacheDisabled()
839843
public function testSerializerMapping()
840844
{
841845
$container = $this->createContainerFromFile('serializer_mapping', array('kernel.bundles_metadata' => array('TestBundle' => array('namespace' => 'Symfony\\Bundle\\FrameworkBundle\\Tests', 'path' => __DIR__.'/Fixtures/TestBundle'))));
846+
$projectDir = $container->getParameter('kernel.project_dir');
842847
$configDir = __DIR__.'/Fixtures/TestBundle/Resources/config';
843848
$expectedLoaders = array(
844849
new Definition(AnnotationLoader::class, array(new Reference('annotation_reader'))),
845850
new Definition(XmlFileLoader::class, array($configDir.'/serialization.xml')),
846851
new Definition(YamlFileLoader::class, array($configDir.'/serialization.yml')),
852+
new Definition(YamlFileLoader::class, array($projectDir.'/config/serializer/foo.yml')),
847853
new Definition(XmlFileLoader::class, array($configDir.'/serializer_mapping/files/foo.xml')),
848854
new Definition(YamlFileLoader::class, array($configDir.'/serializer_mapping/files/foo.yml')),
849855
new Definition(YamlFileLoader::class, array($configDir.'/serializer_mapping/serialization.yml')),
850856
new Definition(YamlFileLoader::class, array($configDir.'/serializer_mapping/serialization.yaml')),
851857
);
852858

853859
foreach ($expectedLoaders as $definition) {
860+
if (is_file($arg = $definition->getArgument(0))) {
861+
$definition->replaceArgument(0, strtr($arg, '/', DIRECTORY_SEPARATOR));
862+
}
854863
$definition->setPublic(false);
855864
}
856865

857866
$loaders = $container->getDefinition('serializer.mapping.chain_loader')->getArgument(0);
858-
$this->assertEquals(sort($expectedLoaders), sort($loaders));
867+
foreach ($loaders as $loader) {
868+
if (is_file($arg = $loader->getArgument(0))) {
869+
$loader->replaceArgument(0, strtr($arg, '/', DIRECTORY_SEPARATOR));
870+
}
871+
}
872+
$this->assertEquals($expectedLoaders, $loaders);
859873
}
860874

861875
public function testAssetHelperWhenAssetsAreEnabled()

Tests/DependencyInjection/config/serializer/foo.yml

Whitespace-only changes.

Tests/DependencyInjection/config/validator/foo.xml

Whitespace-only changes.

0 commit comments

Comments
 (0)