function ContainerTest::testResolveServicesAndParametersForSharedPrivateService

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testResolveServicesAndParametersForSharedPrivateService()
  2. 10 core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php \Drupal\Tests\Component\DependencyInjection\ContainerTest::testResolveServicesAndParametersForSharedPrivateService()
  3. 11.x 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

Class

ContainerTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Component%21DependencyInjection%21Container.php/class/Container/9" title="Provides a container optimized for Drupal&#039;s needs." class="local">\Drupal\Component\DependencyInjection\Container</a> @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.');
}

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