public function ReplaceAliasByActualDefinitionPassTest::testProcess

File

drupal/core/vendor/symfony/dependency-injection/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.');
}