From 81c1c67a53231084b38bbab93ef5b941cefa72a9 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Tue, 17 Sep 2024 13:49:18 +0200 Subject: [PATCH] fix XSD to allow to configure locks without resources --- .../Resources/config/schema/symfony-1.0.xsd | 2 +- .../DependencyInjection/Fixtures/php/lock.php | 5 +++++ .../FrameworkExtensionTestCase.php | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/lock.php diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd index 60e87a1bcf43c..66596679af1c4 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd @@ -492,7 +492,7 @@ - + diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/lock.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/lock.php new file mode 100644 index 0000000000000..ddcb443b6d1dc --- /dev/null +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/lock.php @@ -0,0 +1,5 @@ +loadFromExtension('framework', [ + 'lock' => null, +]); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php index 7555b7530032b..26dec07bc97b9 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php @@ -52,6 +52,7 @@ use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\HttpKernel\DependencyInjection\LoggerPass; use Symfony\Component\HttpKernel\Fragment\FragmentUriGeneratorInterface; +use Symfony\Component\Lock\Store\SemaphoreStore; use Symfony\Component\Messenger\Transport\TransportFactory; use Symfony\Component\Notifier\ChatterInterface; use Symfony\Component\Notifier\TexterInterface; @@ -2081,6 +2082,20 @@ public function testIfNotifierTransportsAreKnownByFrameworkExtension() } } + public function testDefaultLock() + { + $container = $this->createContainerFromFile('lock'); + + self::assertTrue($container->hasDefinition('lock.default.factory')); + $storeDef = $container->getDefinition($container->getDefinition('lock.default.factory')->getArgument(0)); + + if (class_exists(SemaphoreStore::class) && SemaphoreStore::isSupported()) { + self::assertEquals(new Reference('semaphore'), $storeDef->getArgument(0)); + } else { + self::assertEquals(new Reference('flock'), $storeDef->getArgument(0)); + } + } + protected function createContainer(array $data = []) { return new ContainerBuilder(new EnvPlaceholderParameterBag(array_merge([