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');
  }
}