public function ContainerBuilderTest::testAliases in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php \Symfony\Component\DependencyInjection\Tests\ContainerBuilderTest::testAliases()
@covers Symfony\Component\DependencyInjection\ContainerBuilder::setAlias @covers Symfony\Component\DependencyInjection\ContainerBuilder::hasAlias @covers Symfony\Component\DependencyInjection\ContainerBuilder::getAlias
File
- vendor/
symfony/ dependency-injection/ Tests/ ContainerBuilderTest.php, line 182
Class
Namespace
Symfony\Component\DependencyInjection\TestsCode
public function testAliases() {
$builder = new ContainerBuilder();
$builder
->register('foo', 'stdClass');
$builder
->setAlias('bar', 'foo');
$this
->assertTrue($builder
->hasAlias('bar'), '->hasAlias() returns true if the alias exists');
$this
->assertFalse($builder
->hasAlias('foobar'), '->hasAlias() returns false if the alias does not exist');
$this
->assertEquals('foo', (string) $builder
->getAlias('bar'), '->getAlias() returns the aliased service');
$this
->assertTrue($builder
->has('bar'), '->setAlias() defines a new service');
$this
->assertTrue($builder
->get('bar') === $builder
->get('foo'), '->setAlias() creates a service that is an alias to another one');
try {
$builder
->setAlias('foobar', 'foobar');
$this
->fail('->setAlias() throws an InvalidArgumentException if the alias references itself');
} catch (\InvalidArgumentException $e) {
$this
->assertEquals('An alias can not reference itself, got a circular reference on "foobar".', $e
->getMessage(), '->setAlias() throws an InvalidArgumentException if the alias references itself');
}
try {
$builder
->getAlias('foobar');
$this
->fail('->getAlias() throws an InvalidArgumentException if the alias does not exist');
} catch (\InvalidArgumentException $e) {
$this
->assertEquals('The service alias "foobar" does not exist.', $e
->getMessage(), '->getAlias() throws an InvalidArgumentException if the alias does not exist');
}
}