Skip to content

Commit 81c1c67

Browse files
committed
fix XSD to allow to configure locks without resources
1 parent 56fa4dc commit 81c1c67

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd

+1-1
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@
492492

493493
<xsd:complexType name="lock">
494494
<xsd:sequence>
495-
<xsd:element name="resource" type="lock_resource" minOccurs="1" maxOccurs="unbounded" />
495+
<xsd:element name="resource" type="lock_resource" minOccurs="0" maxOccurs="unbounded" />
496496
</xsd:sequence>
497497
<xsd:attribute name="enabled" type="xsd:boolean" />
498498
</xsd:complexType>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', [
4+
'lock' => null,
5+
]);

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTestCase.php

+15
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
use Symfony\Component\HttpFoundation\Session\SessionInterface;
5353
use Symfony\Component\HttpKernel\DependencyInjection\LoggerPass;
5454
use Symfony\Component\HttpKernel\Fragment\FragmentUriGeneratorInterface;
55+
use Symfony\Component\Lock\Store\SemaphoreStore;
5556
use Symfony\Component\Messenger\Transport\TransportFactory;
5657
use Symfony\Component\Notifier\ChatterInterface;
5758
use Symfony\Component\Notifier\TexterInterface;
@@ -2081,6 +2082,20 @@ public function testIfNotifierTransportsAreKnownByFrameworkExtension()
20812082
}
20822083
}
20832084

2085+
public function testDefaultLock()
2086+
{
2087+
$container = $this->createContainerFromFile('lock');
2088+
2089+
self::assertTrue($container->hasDefinition('lock.default.factory'));
2090+
$storeDef = $container->getDefinition($container->getDefinition('lock.default.factory')->getArgument(0));
2091+
2092+
if (class_exists(SemaphoreStore::class) && SemaphoreStore::isSupported()) {
2093+
self::assertEquals(new Reference('semaphore'), $storeDef->getArgument(0));
2094+
} else {
2095+
self::assertEquals(new Reference('flock'), $storeDef->getArgument(0));
2096+
}
2097+
}
2098+
20842099
protected function createContainer(array $data = [])
20852100
{
20862101
return new ContainerBuilder(new EnvPlaceholderParameterBag(array_merge([

0 commit comments

Comments
 (0)