@@ -2386,6 +2386,62 @@ public function testAssetMapperWithoutAssets()
23862386 $ this ->assertFalse ($ container ->has ('assets._default_package ' ));
23872387 }
23882388
2389+ public function testDefaultLock ()
2390+ {
2391+ $ container = $ this ->createContainerFromFile ('lock ' );
2392+
2393+ self ::assertTrue ($ container ->hasDefinition ('lock.default.factory ' ));
2394+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('lock.default.factory ' )->getArgument (0 ));
2395+ self ::assertEquals (new Reference ('semaphore ' ), $ storeDef ->getArgument (0 ));
2396+ }
2397+
2398+ public function testNamedLocks ()
2399+ {
2400+ $ container = $ this ->createContainerFromFile ('lock_named ' );
2401+
2402+ self ::assertTrue ($ container ->hasDefinition ('lock.foo.factory ' ));
2403+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('lock.foo.factory ' )->getArgument (0 ));
2404+ self ::assertEquals (new Reference ('semaphore ' ), $ storeDef ->getArgument (0 ));
2405+
2406+ self ::assertTrue ($ container ->hasDefinition ('lock.bar.factory ' ));
2407+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('lock.bar.factory ' )->getArgument (0 ));
2408+ self ::assertEquals (new Reference ('flock ' ), $ storeDef ->getArgument (0 ));
2409+
2410+ self ::assertTrue ($ container ->hasDefinition ('lock.baz.factory ' ));
2411+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('lock.baz.factory ' )->getArgument (0 ));
2412+ self ::assertIsArray ($ storeDefArg = $ storeDef ->getArgument (0 ));
2413+ $ storeDef1 = $ container ->getDefinition ($ storeDefArg [0 ]);
2414+ $ storeDef2 = $ container ->getDefinition ($ storeDefArg [1 ]);
2415+ self ::assertEquals (new Reference ('semaphore ' ), $ storeDef1 ->getArgument (0 ));
2416+ self ::assertEquals (new Reference ('flock ' ), $ storeDef2 ->getArgument (0 ));
2417+
2418+ self ::assertTrue ($ container ->hasDefinition ('lock.qux.factory ' ));
2419+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('lock.qux.factory ' )->getArgument (0 ));
2420+ self ::assertStringContainsString ('REDIS_DSN ' , $ storeDef ->getArgument (0 ));
2421+ }
2422+
2423+ public function testDefaultSemaphore ()
2424+ {
2425+ $ container = $ this ->createContainerFromFile ('semaphore ' );
2426+
2427+ self ::assertTrue ($ container ->hasDefinition ('semaphore.default.factory ' ));
2428+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('semaphore.default.factory ' )->getArgument (0 ));
2429+ self ::assertSame ('redis://localhost ' , $ storeDef ->getArgument (0 ));
2430+ }
2431+
2432+ public function testNamedSemaphores ()
2433+ {
2434+ $ container = $ this ->createContainerFromFile ('semaphore_named ' );
2435+
2436+ self ::assertTrue ($ container ->hasDefinition ('semaphore.foo.factory ' ));
2437+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('semaphore.foo.factory ' )->getArgument (0 ));
2438+ self ::assertSame ('redis://paas.com ' , $ storeDef ->getArgument (0 ));
2439+
2440+ self ::assertTrue ($ container ->hasDefinition ('semaphore.qux.factory ' ));
2441+ $ storeDef = $ container ->getDefinition ($ container ->getDefinition ('semaphore.qux.factory ' )->getArgument (0 ));
2442+ self ::assertStringContainsString ('REDIS_DSN ' , $ storeDef ->getArgument (0 ));
2443+ }
2444+
23892445 protected function createContainer (array $ data = [])
23902446 {
23912447 return new ContainerBuilder (new EnvPlaceholderParameterBag (array_merge ([
0 commit comments