Skip to content

Commit ad4b87b

Browse files
committed
failing tests
1 parent de0773c commit ad4b87b

File tree

4 files changed

+126
-62
lines changed

4 files changed

+126
-62
lines changed
Lines changed: 80 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,85 @@
11
<?php
22

3-
$container->loadFromExtension('framework', [
4-
'annotations' => false,
5-
'http_method_override' => false,
6-
'handle_all_throwables' => true,
7-
'php_errors' => ['log' => true],
8-
'cache' => [
9-
'pools' => [
10-
'cache.foo' => [
11-
'adapter' => 'cache.adapter.apcu',
12-
'default_lifetime' => 30,
13-
],
14-
'cache.baz' => [
15-
'adapter' => 'cache.adapter.filesystem',
16-
'default_lifetime' => 7,
17-
],
18-
'cache.foobar' => [
19-
'adapter' => 'cache.adapter.psr6',
20-
'default_lifetime' => 10,
21-
'provider' => 'app.cache_pool',
22-
],
23-
'cache.def' => [
24-
'default_lifetime' => 'PT11S',
25-
],
26-
'cache.expr' => [
27-
'default_lifetime' => '13 seconds',
28-
],
29-
'cache.chain' => [
30-
'default_lifetime' => 12,
31-
'adapter' => [
32-
'cache.adapter.array',
33-
'cache.adapter.filesystem',
34-
'redis://foo' => 'cache.adapter.redis',
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
use Symfony\Component\Cache\Adapter\ChainAdapter;
6+
7+
return static function (ContainerConfigurator $container) {
8+
$services = $container->services()
9+
->defaults()
10+
->autowire(true)
11+
->autoconfigure(true)
12+
;
13+
14+
$services->set('chain_cache_custom_ns', ChainAdapter::class)
15+
->arg(0, ['cache.adapter.array', 'cache.adapter.filesystem'])
16+
->tag('cache.pool', ['namespace' => 'my-custom-ns']);
17+
18+
$container->extension('framework', [
19+
'annotations' => false,
20+
'http_method_override' => false,
21+
'handle_all_throwables' => true,
22+
'php_errors' => ['log' => true],
23+
'cache' => [
24+
'pools' => [
25+
'cache.foo' => [
26+
'adapter' => 'cache.adapter.apcu',
27+
'default_lifetime' => 30,
28+
],
29+
'cache.baz' => [
30+
'adapter' => 'cache.adapter.filesystem',
31+
'default_lifetime' => 7,
32+
],
33+
'cache.foobar' => [
34+
'adapter' => 'cache.adapter.psr6',
35+
'default_lifetime' => 10,
36+
'provider' => 'app.cache_pool',
37+
],
38+
'cache.def' => [
39+
'default_lifetime' => 'PT11S',
40+
],
41+
'cache.expr' => [
42+
'default_lifetime' => '13 seconds',
43+
],
44+
'cache.chain' => [
45+
'default_lifetime' => 12,
46+
'adapter' => [
47+
'cache.adapter.array',
48+
'cache.adapter.filesystem',
49+
'redis://foo' => 'cache.adapter.redis',
50+
],
51+
],
52+
'cache.custom_ns_chain' => [
53+
'default_lifetime' => 12,
54+
'adapters' => ['chain_cache_custom_ns'],
55+
],
56+
'cache.ccc' => [
57+
'adapter' => 'cache.adapter.array',
58+
'default_lifetime' => 410,
59+
'tags' => true,
60+
],
61+
'cache.redis_tag_aware.foo' => [
62+
'adapter' => 'cache.adapter.redis_tag_aware',
63+
],
64+
'cache.redis_tag_aware.foo2' => [
65+
'tags' => true,
66+
'adapter' => 'cache.adapter.redis_tag_aware',
67+
],
68+
'cache.redis_tag_aware.bar' => [
69+
'adapter' => 'cache.redis_tag_aware.foo',
70+
],
71+
'cache.redis_tag_aware.bar2' => [
72+
'tags' => true,
73+
'adapter' => 'cache.redis_tag_aware.foo',
74+
],
75+
'cache.redis_tag_aware.baz' => [
76+
'adapter' => 'cache.redis_tag_aware.foo2',
77+
],
78+
'cache.redis_tag_aware.baz2' => [
79+
'tags' => true,
80+
'adapter' => 'cache.redis_tag_aware.foo2',
3581
],
36-
],
37-
'cache.ccc' => [
38-
'adapter' => 'cache.adapter.array',
39-
'default_lifetime' => 410,
40-
'tags' => true,
41-
],
42-
'cache.redis_tag_aware.foo' => [
43-
'adapter' => 'cache.adapter.redis_tag_aware',
44-
],
45-
'cache.redis_tag_aware.foo2' => [
46-
'tags' => true,
47-
'adapter' => 'cache.adapter.redis_tag_aware',
48-
],
49-
'cache.redis_tag_aware.bar' => [
50-
'adapter' => 'cache.redis_tag_aware.foo',
51-
],
52-
'cache.redis_tag_aware.bar2' => [
53-
'tags' => true,
54-
'adapter' => 'cache.redis_tag_aware.foo',
55-
],
56-
'cache.redis_tag_aware.baz' => [
57-
'adapter' => 'cache.redis_tag_aware.foo2',
58-
],
59-
'cache.redis_tag_aware.baz2' => [
60-
'tags' => true,
61-
'adapter' => 'cache.redis_tag_aware.foo2',
6282
],
6383
],
64-
],
65-
]);
84+
]);
85+
};

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/cache.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
66
http://symfony.com/schema/dic/symfony https://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
77

8+
<services>
9+
<defaults autowire="true" autoconfigure="true"/>
10+
11+
<service id="chain_cache_custom_ns" class="Symfony\Component\Cache\Adapter\ChainAdapter">
12+
<argument type="collection">
13+
<argument type="service" id="cache.adapter.array"/>
14+
<argument type="service" id="cache.adapter.filesystem"/>
15+
</argument>
16+
<tag name="cache.pool" namespace="my-custom-ns" />
17+
</service>
18+
</services>
19+
820
<framework:config http-method-override="false" handle-all-throwables="true">
921
<framework:annotations enabled="false" />
1022
<framework:php-errors log="true" />
@@ -19,6 +31,7 @@
1931
<framework:adapter name="cache.adapter.filesystem" />
2032
<framework:adapter name="cache.adapter.redis" provider="redis://foo" />
2133
</framework:pool>
34+
<framework:pool name="cache.custom_ns_chain" adapter="chain_cache_custom_ns" default-lifetime="12" />
2235
<framework:pool name="cache.ccc" adapter="cache.adapter.array" default-lifetime="410" tags="true" />
2336
<framework:pool name="cache.redis_tag_aware.foo" adapter="cache.adapter.redis_tag_aware" />
2437
<framework:pool name="cache.redis_tag_aware.foo2" tags="true" adapter="cache.adapter.redis_tag_aware" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/cache.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
services:
2+
_defaults:
3+
autowire: true
4+
autoconfigure: true
5+
6+
chain_cache_custom_ns:
7+
class: Symfony\Component\Cache\Adapter\ChainAdapter
8+
arguments:
9+
- ['@cache.adapter.array', '@cache.adapter.filesystem']
10+
tags:
11+
- { name: cache.pool, namespace: 'my-custom-ns' }
12+
13+
114
framework:
215
annotations: false
316
http_method_override: false
@@ -26,6 +39,9 @@ framework:
2639
- cache.adapter.array
2740
- cache.adapter.filesystem
2841
- {name: cache.adapter.redis, provider: 'redis://foo'}
42+
cache.custom_ns_chain:
43+
default_lifetime: 12
44+
adapter: 'chain_cache_custom_ns'
2945
cache.ccc:
3046
adapter: cache.adapter.array
3147
default_lifetime: 410

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,6 +1752,7 @@ public function testCachePoolServices()
17521752
{
17531753
$container = $this->createContainerFromFile('cache', [], true, false);
17541754
$container->setParameter('cache.prefix.seed', 'test');
1755+
$container->addCompilerPass(new ResolveInstanceofConditionalsPass());
17551756
$container->addCompilerPass(new CachePoolPass());
17561757
$container->compile();
17571758

@@ -1762,9 +1763,7 @@ public function testCachePoolServices()
17621763
$this->assertCachePoolServiceDefinitionIsCreated($container, 'cache.expr', 'cache.app', '13 seconds');
17631764

17641765
$chain = $container->getDefinition('cache.chain');
1765-
17661766
$this->assertSame(ChainAdapter::class, $chain->getClass());
1767-
17681767
$this->assertCount(2, $chain->getArguments());
17691768
$this->assertCount(3, $chain->getArguments()[0]);
17701769

@@ -1785,6 +1784,22 @@ public function testCachePoolServices()
17851784
];
17861785
$this->assertEquals($expected, $chain->getArguments());
17871786

1787+
$chainCustomNs = $container->getDefinition('cache.custom_ns_chain');
1788+
$this->assertCount(2, $chainCustomNs->getArguments());
1789+
$this->assertCount(2, $chainCustomNs->getArguments()['index_0']);
1790+
1791+
$expectedCustomNsChain = [
1792+
'index_0' => [
1793+
(new ChildDefinition('cache.adapter.array'))
1794+
->replaceArgument(0, 12),
1795+
(new ChildDefinition('cache.adapter.filesystem'))
1796+
->replaceArgument(0, 'my-custom-ns')
1797+
->replaceArgument(1, 12),
1798+
],
1799+
'index_1' => 12,
1800+
];
1801+
$this->assertEquals($expectedCustomNsChain, $chainCustomNs->getArguments());
1802+
17881803
// Test "tags: true" wrapping logic
17891804
$tagAwareDefinition = $container->getDefinition('cache.ccc');
17901805
$this->assertSame(TagAwareAdapter::class, $tagAwareDefinition->getClass());

0 commit comments

Comments
 (0)