Skip to content

Commit d2fa088

Browse files
committed
Merge branch '3.4' into 4.0
* 3.4: fixed wrong merge Tweak message to be Flex friendly [Routing] fixed tests Fixing wrong class_exists on interface Preserve percent-encoding in URLs when performing redirects in the UrlMatcher [Console] Fix a bug when passing a letter that could be an alias add missing validation options to XSD file Take advantage of AnnotationRegistry::registerUniqueLoader [DI] Optimize Container::get() for perf fix merge Fix tests Refactoring tests.
2 parents cd7719f + 5f81907 commit d2fa088

File tree

5 files changed

+31
-31
lines changed

5 files changed

+31
-31
lines changed

Container.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ public function has($id)
207207
*
208208
* @see Reference
209209
*/
210-
public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)
210+
public function get($id, $invalidBehavior = /* self::EXCEPTION_ON_INVALID_REFERENCE */ 1)
211211
{
212212
if (isset($this->aliases[$id])) {
213213
$id = $this->aliases[$id];
@@ -229,9 +229,9 @@ public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE
229229

230230
try {
231231
if (isset($this->fileMap[$id])) {
232-
return self::IGNORE_ON_UNINITIALIZED_REFERENCE === $invalidBehavior ? null : $this->load($this->fileMap[$id]);
232+
return /* self::IGNORE_ON_UNINITIALIZED_REFERENCE */ 4 === $invalidBehavior ? null : $this->load($this->fileMap[$id]);
233233
} elseif (isset($this->methodMap[$id])) {
234-
return self::IGNORE_ON_UNINITIALIZED_REFERENCE === $invalidBehavior ? null : $this->{$this->methodMap[$id]}();
234+
return /* self::IGNORE_ON_UNINITIALIZED_REFERENCE */ 4 === $invalidBehavior ? null : $this->{$this->methodMap[$id]}();
235235
}
236236
} catch (\Exception $e) {
237237
unset($this->services[$id]);
@@ -241,7 +241,7 @@ public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE
241241
unset($this->loading[$id]);
242242
}
243243

244-
if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) {
244+
if (/* self::EXCEPTION_ON_INVALID_REFERENCE */ 1 === $invalidBehavior) {
245245
if (!$id) {
246246
throw new ServiceNotFoundException($id);
247247
}

Dumper/PhpDumper.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ private function getServiceCall(string $id, Reference $reference = null): string
16081608
return 'null';
16091609
}
16101610
if (null !== $reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $reference->getInvalidBehavior()) {
1611-
$code = sprintf('$this->get(\'%s\', ContainerInterface::NULL_ON_INVALID_REFERENCE)', $id);
1611+
$code = sprintf('$this->get(\'%s\', /* ContainerInterface::NULL_ON_INVALID_REFERENCE */ %d)', $id, ContainerInterface::NULL_ON_INVALID_REFERENCE);
16121612
} else {
16131613
$code = sprintf('$this->get(\'%s\')', $id);
16141614
}

Tests/ContainerBuilderTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public function testDefinitions()
7373

7474
$builder->setDefinition('foobar', $foo = new Definition('FooBarClass'));
7575
$this->assertEquals($foo, $builder->getDefinition('foobar'), '->getDefinition() returns a service definition if defined');
76-
$this->assertTrue($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')) === $foo, '->setDefinition() implements a fluid interface by returning the service reference');
76+
$this->assertSame($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')), $foo, '->setDefinition() implements a fluid interface by returning the service reference');
7777

7878
$builder->addDefinitions($defs = array('foobar' => new Definition('FooBarClass')));
7979
$this->assertEquals(array_merge($definitions, $defs), $builder->getDefinitions(), '->addDefinitions() adds the service definitions');
@@ -242,7 +242,7 @@ public function testAliases()
242242
$this->assertFalse($builder->hasAlias('foobar'), '->hasAlias() returns false if the alias does not exist');
243243
$this->assertEquals('foo', (string) $builder->getAlias('bar'), '->getAlias() returns the aliased service');
244244
$this->assertTrue($builder->has('bar'), '->setAlias() defines a new service');
245-
$this->assertTrue($builder->get('bar') === $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
245+
$this->assertSame($builder->get('bar'), $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
246246

247247
try {
248248
$builder->setAlias('foobar', 'foobar');
@@ -287,8 +287,8 @@ public function testSetAliases()
287287
$builder->setAliases(array('bar' => 'foo', 'foobar' => 'foo'));
288288

289289
$aliases = $builder->getAliases();
290-
$this->assertTrue(isset($aliases['bar']));
291-
$this->assertTrue(isset($aliases['foobar']));
290+
$this->assertArrayHasKey('bar', $aliases);
291+
$this->assertArrayHasKey('foobar', $aliases);
292292
}
293293

294294
public function testAddAliases()
@@ -298,8 +298,8 @@ public function testAddAliases()
298298
$builder->addAliases(array('foobar' => 'foo'));
299299

300300
$aliases = $builder->getAliases();
301-
$this->assertTrue(isset($aliases['bar']));
302-
$this->assertTrue(isset($aliases['foobar']));
301+
$this->assertArrayHasKey('bar', $aliases);
302+
$this->assertArrayHasKey('foobar', $aliases);
303303
}
304304

305305
public function testSetReplacesAlias()
@@ -562,7 +562,7 @@ public function testMerge()
562562
$this->assertEquals(array('service_container', 'foo', 'bar', 'baz'), array_keys($container->getDefinitions()), '->merge() merges definitions already defined ones');
563563

564564
$aliases = $container->getAliases();
565-
$this->assertTrue(isset($aliases['alias_for_foo']));
565+
$this->assertArrayHasKey('alias_for_foo', $aliases);
566566
$this->assertEquals('foo', (string) $aliases['alias_for_foo']);
567567

568568
$container = new ContainerBuilder();
@@ -943,7 +943,7 @@ public function testExtension()
943943
$container->setResourceTracking(false);
944944

945945
$container->registerExtension($extension = new \ProjectExtension());
946-
$this->assertTrue($container->getExtension('project') === $extension, '->registerExtension() registers an extension');
946+
$this->assertSame($container->getExtension('project'), $extension, '->registerExtension() registers an extension');
947947

948948
$this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('LogicException');
949949
$container->getExtension('no_registered');

Tests/Loader/XmlFileLoaderTest.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public function testLoadWithExternalEntitiesDisabled()
101101

102102
libxml_disable_entity_loader($disableEntities);
103103

104-
$this->assertTrue(count($containerBuilder->getParameterBag()->all()) > 0, 'Parameters can be read from the config file.');
104+
$this->assertGreaterThan(0, $containerBuilder->getParameterBag()->all(), 'Parameters can be read from the config file.');
105105
}
106106

107107
public function testLoadParameters()
@@ -191,7 +191,7 @@ public function testLoadAnonymousServices()
191191
$args = $services['foo']->getArguments();
192192
$this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
193193
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
194-
$this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
194+
$this->assertArrayHasKey((string) $args[0], $services, '->load() makes a reference to the created ones');
195195
$inner = $services[(string) $args[0]];
196196
$this->assertEquals('BarClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
197197
$this->assertFalse($inner->isPublic());
@@ -200,7 +200,7 @@ public function testLoadAnonymousServices()
200200
$args = $inner->getArguments();
201201
$this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
202202
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
203-
$this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
203+
$this->assertArrayHasKey((string) $args[0], $services, '->load() makes a reference to the created ones');
204204
$inner = $services[(string) $args[0]];
205205
$this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
206206
$this->assertFalse($inner->isPublic());
@@ -209,7 +209,7 @@ public function testLoadAnonymousServices()
209209
$properties = $services['foo']->getProperties();
210210
$property = $properties['p'];
211211
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $property, '->load() converts anonymous services to references to "normal" services');
212-
$this->assertTrue(isset($services[(string) $property]), '->load() makes a reference to the created ones');
212+
$this->assertArrayHasKey((string) $property, $services, '->load() makes a reference to the created ones');
213213
$inner = $services[(string) $property];
214214
$this->assertEquals('BuzClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
215215
$this->assertFalse($inner->isPublic());
@@ -250,7 +250,7 @@ public function testLoadServices()
250250
$loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
251251
$loader->load('services6.xml');
252252
$services = $container->getDefinitions();
253-
$this->assertTrue(isset($services['foo']), '->load() parses <service> elements');
253+
$this->assertArrayHasKey('foo', $services, '->load() parses <service> elements');
254254
$this->assertFalse($services['not_shared']->isShared(), '->load() parses shared flag');
255255
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts <service> element to Definition instances');
256256
$this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
@@ -267,10 +267,10 @@ public function testLoadServices()
267267
$this->assertSame(array(null, 'getInstance'), $services['new_factory4']->getFactory(), '->load() accepts factory tag without class');
268268

269269
$aliases = $container->getAliases();
270-
$this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses <service> elements');
270+
$this->assertArrayHasKey('alias_for_foo', $aliases, '->load() parses <service> elements');
271271
$this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
272272
$this->assertTrue($aliases['alias_for_foo']->isPublic());
273-
$this->assertTrue(isset($aliases['another_alias_for_foo']));
273+
$this->assertArrayHasKey('another_alias_for_foo', $aliases);
274274
$this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
275275
$this->assertFalse($aliases['another_alias_for_foo']->isPublic());
276276

@@ -393,8 +393,8 @@ public function testExtensions()
393393
$services = $container->getDefinitions();
394394
$parameters = $container->getParameterBag()->all();
395395

396-
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
397-
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
396+
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
397+
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
398398

399399
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
400400
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
@@ -409,8 +409,8 @@ public function testExtensions()
409409
$services = $container->getDefinitions();
410410
$parameters = $container->getParameterBag()->all();
411411

412-
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
413-
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
412+
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
413+
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
414414

415415
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
416416
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
@@ -532,8 +532,8 @@ public function testXmlNamespaces()
532532
$loader->load('namespaces.xml');
533533
$services = $container->getDefinitions();
534534

535-
$this->assertTrue(isset($services['foo']), '->load() parses <srv:service> elements');
536-
$this->assertEquals(1, count($services['foo']->getTag('foo.tag')), '->load parses <srv:tag> elements');
535+
$this->assertArrayHasKey('foo', $services, '->load() parses <srv:service> elements');
536+
$this->assertCount(1, $services['foo']->getTag('foo.tag'), '->load parses <srv:tag> elements');
537537
$this->assertEquals(array(array('setBar', array('foo'))), $services['foo']->getMethodCalls(), '->load() parses the <srv:call> tag');
538538
}
539539

Tests/Loader/YamlFileLoaderTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public function testLoadServices()
141141
$loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
142142
$loader->load('services6.yml');
143143
$services = $container->getDefinitions();
144-
$this->assertTrue(isset($services['foo']), '->load() parses service elements');
144+
$this->assertArrayHasKey('foo', $services, '->load() parses service elements');
145145
$this->assertFalse($services['not_shared']->isShared(), '->load() parses the shared flag');
146146
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts service element to Definition instances');
147147
$this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
@@ -159,10 +159,10 @@ public function testLoadServices()
159159
$this->assertEquals(array('foo', new Reference('baz')), $services['Acme\WithShortCutArgs']->getArguments(), '->load() parses short service definition');
160160

161161
$aliases = $container->getAliases();
162-
$this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses aliases');
162+
$this->assertArrayHasKey('alias_for_foo', $aliases, '->load() parses aliases');
163163
$this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
164164
$this->assertTrue($aliases['alias_for_foo']->isPublic());
165-
$this->assertTrue(isset($aliases['another_alias_for_foo']));
165+
$this->assertArrayHasKey('another_alias_for_foo', $aliases);
166166
$this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
167167
$this->assertFalse($aliases['another_alias_for_foo']->isPublic());
168168
$this->assertTrue(isset($aliases['another_third_alias_for_foo']));
@@ -206,8 +206,8 @@ public function testExtensions()
206206
$services = $container->getDefinitions();
207207
$parameters = $container->getParameterBag()->all();
208208

209-
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
210-
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
209+
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
210+
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
211211

212212
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
213213
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');

0 commit comments

Comments
 (0)