You are here

public function ReplaceAliasByActualDefinitionPassTest::testProcess in Service Container 7.2

Same name and namespace in other branches
  1. 7 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php \Symfony\Component\DependencyInjection\Tests\Compiler\ReplaceAliasByActualDefinitionPassTest::testProcess()

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php, line 20

Class

ReplaceAliasByActualDefinitionPassTest

Namespace

Symfony\Component\DependencyInjection\Tests\Compiler

Code

public function testProcess() {
  $container = new ContainerBuilder();
  $container
    ->register('a', '\\stdClass');
  $bDefinition = new Definition('\\stdClass');
  $bDefinition
    ->setPublic(false);
  $container
    ->setDefinition('b', $bDefinition);
  $container
    ->setAlias('a_alias', 'a');
  $container
    ->setAlias('b_alias', 'b');
  $this
    ->process($container);
  $this
    ->assertTrue($container
    ->has('a'), '->process() does nothing to public definitions.');
  $this
    ->assertTrue($container
    ->hasAlias('a_alias'));
  $this
    ->assertFalse($container
    ->has('b'), '->process() removes non-public definitions.');
  $this
    ->assertTrue($container
    ->has('b_alias') && !$container
    ->hasAlias('b_alias'), '->process() replaces alias to actual.');
}