From e1c36525fd55b1eb187ce5aefbdc2d39c7286f86 Mon Sep 17 00:00:00 2001 From: David Maicher Date: Wed, 13 Dec 2017 20:39:50 +0100 Subject: [PATCH] [FrameworkBundle] remove esi/ssi renderers if inactive --- .../DependencyInjection/FrameworkExtension.php | 4 ++++ .../FrameworkExtensionTest.php | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index dff3d0a62e..9060660d58 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -213,6 +213,8 @@ class FrameworkExtension extends Extension private function registerEsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader) { if (!$this->isConfigEnabled($container, $config)) { + $container->removeDefinition('fragment.renderer.esi'); + return; } @@ -222,6 +224,8 @@ class FrameworkExtension extends Extension private function registerSsiConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader) { if (!$this->isConfigEnabled($container, $config)) { + $container->removeDefinition('fragment.renderer.ssi'); + return; } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php index 5601e6a88b..20bd232233 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -96,6 +96,15 @@ abstract class FrameworkExtensionTest extends TestCase $container = $this->createContainerFromFile('full'); $this->assertTrue($container->hasDefinition('esi'), '->registerEsiConfiguration() loads esi.xml'); + $this->assertTrue($container->hasDefinition('fragment.renderer.esi')); + } + + public function testEsiInactive() + { + $container = $this->createContainerFromFile('default_config'); + + $this->assertFalse($container->hasDefinition('fragment.renderer.esi')); + $this->assertFalse($container->hasDefinition('esi')); } public function testSsi() @@ -103,6 +112,15 @@ abstract class FrameworkExtensionTest extends TestCase $container = $this->createContainerFromFile('full'); $this->assertTrue($container->hasDefinition('ssi'), '->registerSsiConfiguration() loads ssi.xml'); + $this->assertTrue($container->hasDefinition('fragment.renderer.ssi')); + } + + public function testSsiInactive() + { + $container = $this->createContainerFromFile('default_config'); + + $this->assertFalse($container->hasDefinition('fragment.renderer.ssi')); + $this->assertFalse($container->hasDefinition('ssi')); } public function testEnabledProfiler()