You are here

public function ContainerTest::testResolveServicesAndParametersForSharedPrivateService in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testResolveServicesAndParametersForSharedPrivateService()

Tests that private service sharing works correctly.

@covers ::get @covers ::createService @covers ::resolveServicesAndParameters

File

core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php, line 559
Contains \Drupal\Tests\Component\DependencyInjection\ContainerTest.

Class

ContainerTest
@coversDefaultClass \Drupal\Component\DependencyInjection\Container @group DependencyInjection

Namespace

Drupal\Tests\Component\DependencyInjection

Code

public function testResolveServicesAndParametersForSharedPrivateService() {
  $service = $this->container
    ->get('service_using_shared_private');
  $private_service = $service
    ->getSomeOtherService();
  $this
    ->assertEquals('really_private_lama', $private_service
    ->getSomeParameter(), 'Private was found successfully.');

  // Test that sharing the same private services works.
  $service = $this->container
    ->get('another_service_using_shared_private');
  $same_private_service = $service
    ->getSomeOtherService();
  $this
    ->assertSame($private_service, $same_private_service, 'Private service is shared.');
  $this
    ->assertEquals('really_private_lama', $private_service
    ->getSomeParameter(), 'Private was found successfully.');
}