Ensure services & aliases can be referred to with __toStringable objects

This commit is contained in:
Samuel ROZE 2017-12-03 13:36:40 +00:00
parent 483dd134f4
commit 11c6b386c6
No known key found for this signature in database
GPG Key ID: 835426F55A19FB84

View File

@ -1310,6 +1310,24 @@ class ContainerBuilderTest extends TestCase
$this->assertSame('via-argument', $container->get('foo')->class1->identifier);
$this->assertSame('via-bindings', $container->get('foo')->class2->identifier);
}
public function testIdCanBeAnObjectAsLongAsItCanBeCastToString()
{
$id = new Reference('another_service');
$aliasId = new Reference('alias_id');
$container = new ContainerBuilder();
$container->set($id, new \stdClass());
$container->setAlias($aliasId, 'another_service');
$this->assertTrue($container->has('another_service'));
$this->assertTrue($container->has($id));
$this->assertTrue($container->hasAlias('alias_id'));
$this->assertTrue($container->hasAlias($aliasId));
$container->removeAlias($aliasId);
$container->removeDefinition($id);
}
}
class FooClass