function ContainerTest::testGetForConfigurator

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testGetForConfigurator()
  2. 8.9.x core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testGetForConfigurator()
  3. 11.x core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testGetForConfigurator()

Tests that Container::get() for configurable services works.

@covers ::get
@covers ::createService

File

core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php, line 513

Class

ContainerTest
@coversDefaultClass \Drupal\Component\DependencyInjection\Container[[api-linebreak]] @group DependencyInjection

Namespace

Drupal\Tests\Component\DependencyInjection

Code

public function testGetForConfigurator() : void {
  $container = $this->container;
  // Setup a configurator.
  $configurator = $this->prophesize('\\Drupal\\Tests\\Component\\DependencyInjection\\MockConfiguratorInterface');
  $configurator->configureService(Argument::type('object'))
    ->shouldBeCalled(1)
    ->will(function ($args) use ($container) {
    $args[0]->setContainer($container);
  });
  $container->set('configurator', $configurator->reveal());
  // Test that the configurator worked.
  $service = $container->get('configurable_service');
  $this->assertSame($container, $service->getContainer(), 'Container was injected via configurator.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.