public function InlineServiceDefinitionsPassTest::testProcessDoesInlineServiceOfPrototypeScope

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php, line 66

Class

InlineServiceDefinitionsPassTest

Namespace

Symfony\Component\DependencyInjection\Tests\Compiler

Code

public function testProcessDoesInlineServiceOfPrototypeScope() {
  $container = new ContainerBuilder();
  $container
    ->register('foo')
    ->setScope('prototype');
  $container
    ->register('bar')
    ->setPublic(false)
    ->setScope('prototype');
  $container
    ->setAlias('moo', 'bar');
  $container
    ->register('service')
    ->setArguments(array(
    new Reference('foo'),
    $ref = new Reference('moo'),
    new Reference('bar'),
  ));
  $this
    ->process($container);
  $arguments = $container
    ->getDefinition('service')
    ->getArguments();
  $this
    ->assertEquals($container
    ->getDefinition('foo'), $arguments[0]);
  $this
    ->assertNotSame($container
    ->getDefinition('foo'), $arguments[0]);
  $this
    ->assertSame($ref, $arguments[1]);
  $this
    ->assertEquals($container
    ->getDefinition('bar'), $arguments[2]);
  $this
    ->assertNotSame($container
    ->getDefinition('bar'), $arguments[2]);
}