diff --git a/src/bundle/DependencyInjection/IbexaTwigComponentsExtension.php b/src/bundle/DependencyInjection/IbexaTwigComponentsExtension.php index 66cd25c..b245c2c 100644 --- a/src/bundle/DependencyInjection/IbexaTwigComponentsExtension.php +++ b/src/bundle/DependencyInjection/IbexaTwigComponentsExtension.php @@ -75,6 +75,7 @@ public function prepend(ContainerBuilder $container): void { $this->prependDefaultConfiguration($container); $this->prependJMSTranslation($container); + $this->prependTwigComponentConfiguration($container); } private function prependDefaultConfiguration(ContainerBuilder $container): void @@ -105,6 +106,16 @@ private function prependJMSTranslation(ContainerBuilder $container): void ]); } + private function prependTwigComponentConfiguration(ContainerBuilder $container): void + { + if ($container->hasExtension('twig_component')) { + $container->prependExtensionConfig('twig_component', [ + 'anonymous_template_directory' => 'components/', + 'defaults' => [], + ]); + } + } + private function shouldLoadTestServices(ContainerBuilder $container): bool { return $container->hasParameter('ibexa.behat.browser.enabled') diff --git a/tests/bundle/DependencyInjection/IbexaTwigComponentsExtensionTest.php b/tests/bundle/DependencyInjection/IbexaTwigComponentsExtensionTest.php index 9d8f234..173a8c7 100644 --- a/tests/bundle/DependencyInjection/IbexaTwigComponentsExtensionTest.php +++ b/tests/bundle/DependencyInjection/IbexaTwigComponentsExtensionTest.php @@ -126,4 +126,28 @@ public function testAttributeCausesTagToBeAdded(): void ] ); } + + public function testPrependDoesNotAddTwigComponentConfigurationWhenExtensionIsNotRegistered(): void + { + $container = new ContainerBuilder(); + + (new IbexaTwigComponentsExtension())->prepend($container); + + self::assertSame([], $container->getExtensionConfig('twig_component')); + } + + public function testPrependAddsTwigComponentConfigurationWhenExtensionIsRegistered(): void + { + (new IbexaTwigComponentsExtension())->prepend($this->container); + + $twigComponentConfig = $this->container->getExtensionConfig('twig_component'); + self::assertCount(1, $twigComponentConfig); + self::assertSame( + [ + 'anonymous_template_directory' => 'components/', + 'defaults' => [], + ], + $twigComponentConfig[0] + ); + } }