File tree 5 files changed +17
-13
lines changed
5 files changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -69,12 +69,11 @@ private function configureBundles(array $bundles): array
69
69
unset($ classes [$ fwb ]);
70
70
}
71
71
foreach ($ classes as $ class => $ envs ) {
72
- // if the class already existed, clear so we can update the envs
73
- if (isset ($ registered [$ class ])) {
74
- $ registered [$ class ] = [];
75
- }
76
- foreach ($ envs as $ env ) {
77
- $ registered [$ class ][$ env ] = true ;
72
+ // do not override existing configured envs for a bundle
73
+ if (!isset ($ registered [$ class ])) {
74
+ foreach ($ envs as $ env ) {
75
+ $ registered [$ class ][$ env ] = true ;
76
+ }
78
77
}
79
78
}
80
79
Original file line number Diff line number Diff line change @@ -170,12 +170,13 @@ public function testUpdate()
170
170
EOF
171
171
], $ recipeUpdate ->getOriginalFiles ());
172
172
173
+ // FooBundle::class => ['dev' => true, 'test' => true]: configured envs should not be overwritten
173
174
$ this ->assertSame (['config/bundles.php ' => <<<EOF
174
175
<?php
175
176
176
177
return [
177
178
BarBundle::class => ['prod' => false, 'all' => true],
178
- FooBundle::class => ['all ' => true],
179
+ FooBundle::class => ['dev' => true, 'test ' => true],
179
180
BazBundle::class => ['all' => true],
180
181
NewBundle::class => ['all' => true],
181
182
];
Original file line number Diff line number Diff line change 13
13
14
14
use Composer \Composer ;
15
15
use Composer \IO \IOInterface ;
16
- use Composer \Package \Package ;
16
+ use Composer \Package \RootPackage ;
17
17
use PHPUnit \Framework \TestCase ;
18
18
use Symfony \Component \Filesystem \Filesystem ;
19
19
use Symfony \Flex \Configurator \DockerComposeConfigurator ;
@@ -114,7 +114,7 @@ class DockerComposeConfiguratorTest extends TestCase
114
114
/** @var DockerComposeConfigurator */
115
115
private $ configurator ;
116
116
117
- /** @var Package */
117
+ /** @var RootPackage */
118
118
private $ package ;
119
119
120
120
private $ originalEnvComposer ;
@@ -139,7 +139,7 @@ protected function setUp(): void
139
139
$ this ->lock = $ this ->getMockBuilder (Lock::class)->disableOriginalConstructor ()->getMock ();
140
140
141
141
// Configurator
142
- $ this ->package = new Package ('dummy/dummy ' , '1.0.0 ' , '1.0.0 ' );
142
+ $ this ->package = new RootPackage ('dummy/dummy ' , '1.0.0 ' , '1.0.0 ' );
143
143
$ this ->package ->setExtra (['symfony ' => ['docker ' => true ]]);
144
144
145
145
$ this ->composer = $ this ->getMockBuilder (Composer::class)->getMock ();
Original file line number Diff line number Diff line change 13
13
14
14
use Composer \Composer ;
15
15
use Composer \IO \IOInterface ;
16
- use Composer \Package \Package ;
16
+ use Composer \Package \RootPackage ;
17
17
use PHPUnit \Framework \TestCase ;
18
18
use Symfony \Flex \Lock ;
19
19
use Symfony \Flex \Options ;
@@ -278,7 +278,7 @@ public function testUpdate()
278
278
279
279
private function createConfigurator (): DockerfileConfigurator
280
280
{
281
- $ package = new Package ('dummy/dummy ' , '1.0.0 ' , '1.0.0 ' );
281
+ $ package = new RootPackage ('dummy/dummy ' , '1.0.0 ' , '1.0.0 ' );
282
282
$ package ->setExtra (['symfony ' => ['docker ' => true ]]);
283
283
284
284
$ composer = $ this ->getMockBuilder (Composer::class)->getMock ();
Original file line number Diff line number Diff line change 22
22
use Composer \Package \Package ;
23
23
use Composer \Package \RootPackageInterface ;
24
24
use Composer \Plugin \PluginInterface ;
25
+ use Composer \Repository \LockArrayRepository ;
25
26
use Composer \Repository \RepositoryInterface ;
26
27
use Composer \Repository \RepositoryManager ;
27
28
use Composer \Repository \WritableRepositoryInterface ;
@@ -275,7 +276,10 @@ public function testFetchRecipesWithConflicts()
275
276
$ downloader ->expects ($ this ->once ())->method ('removeRecipeFromIndex ' )->with ('doctrine/doctrine-bundle ' , '2.4 ' );
276
277
277
278
$ locker = $ this ->getMockBuilder (Locker::class)->disableOriginalConstructor ()->getMock ();
278
- $ lockedRepository = $ this ->getMockBuilder (RepositoryInterface::class)->disableOriginalConstructor ()->getMock ();
279
+ $ lockedRepository = $ this ->getMockBuilder (
280
+ // LockArrayRepository does not exist on composer 1.0.2 fallback to RepositoryInterface
281
+ class_exists (LockArrayRepository::class) ? LockArrayRepository::class : RepositoryInterface::class
282
+ )->disableOriginalConstructor ()->getMock ();
279
283
// make the conflicted package show up
280
284
$ locker ->expects ($ this ->any ())
281
285
->method ('getLockedRepository ' )
You can’t perform that action at this time.
0 commit comments