* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Tests\Extension; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Extension\Extension; class ExtensionTest extends TestCase { /** * @dataProvider getResolvedEnabledFixtures */ public function testIsConfigEnabledReturnsTheResolvedValue($enabled) { $extension = new EnableableExtension(); $this->assertSame($enabled, $extension->isConfigEnabled(new ContainerBuilder(), ['enabled' => $enabled])); } public function getResolvedEnabledFixtures() { return [ [true], [false], ]; } public function testIsConfigEnabledOnNonEnableableConfig() { $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage('The config array has no \'enabled\' key.'); $extension = new EnableableExtension(); $extension->isConfigEnabled(new ContainerBuilder(), []); } } class EnableableExtension extends Extension { public function load(array $configs, ContainerBuilder $container) { } public function isConfigEnabled(ContainerBuilder $container, array $config): bool { return parent::isConfigEnabled($container, $config); } }