Skip to content

Commit a265caf

Browse files
committed
[DependencyInjection] add missing test for symfony#27710
1 parent a552e84 commit a265caf

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/Symfony/Component/DependencyInjection/Tests/Compiler/ValidateEnvPlaceholdersPassTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,18 @@ public function testConfigurationWithoutRootNode(): void
234234
$this->addToAssertionCount(1);
235235
}
236236

237+
public function testEmptyConfigFromMoreThanOneSource()
238+
{
239+
$container = new ContainerBuilder();
240+
$container->registerExtension(new EnvExtension(new ConfigurationWithArrayNodeRequiringOneElement()));
241+
$container->loadFromExtension('env_extension', array());
242+
$container->loadFromExtension('env_extension', array());
243+
244+
$this->doProcess($container);
245+
246+
$this->addToAssertionCount(1);
247+
}
248+
237249
public function testDiscardedEnvInConfig(): void
238250
{
239251
$container = new ContainerBuilder();
@@ -313,6 +325,24 @@ public function getConfigTreeBuilder()
313325
}
314326
}
315327

328+
class ConfigurationWithArrayNodeRequiringOneElement implements ConfigurationInterface
329+
{
330+
public function getConfigTreeBuilder()
331+
{
332+
$treeBuilder = new TreeBuilder();
333+
$treeBuilder->root('env_extension')
334+
->children()
335+
->arrayNode('nodes')
336+
->isRequired()
337+
->requiresAtLeastOneElement()
338+
->scalarPrototype()->end()
339+
->end()
340+
->end();
341+
342+
return $treeBuilder;
343+
}
344+
}
345+
316346
class EnvExtension extends Extension
317347
{
318348
private $configuration;
@@ -335,6 +365,10 @@ public function getConfiguration(array $config, ContainerBuilder $container)
335365

336366
public function load(array $configs, ContainerBuilder $container)
337367
{
368+
if (!array_filter($configs)) {
369+
return;
370+
}
371+
338372
try {
339373
$this->config = $this->processConfiguration($this->getConfiguration($configs, $container), $configs);
340374
} catch (TreeWithoutRootNodeException $e) {

0 commit comments

Comments
 (0)