You are here

public function ProxyServicesPassTest::testContainerWithLazyServices in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/ProxyServicesPassTest.php \Drupal\Tests\Core\DependencyInjection\Compiler\ProxyServicesPassTest::testContainerWithLazyServices()

@covers ::process

File

core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/ProxyServicesPassTest.php, line 49

Class

ProxyServicesPassTest
@coversDefaultClass \Drupal\Core\DependencyInjection\Compiler\ProxyServicesPass @group DependencyInjection

Namespace

Drupal\Tests\Core\DependencyInjection\Compiler

Code

public function testContainerWithLazyServices() {
  $container = new ContainerBuilder();
  $container
    ->register('plugin_cache_clearer', 'Drupal\\Core\\Plugin\\CachedDiscoveryClearer')
    ->setLazy(TRUE);
  $this->proxyServicesPass
    ->process($container);
  $this
    ->assertCount(3, $container
    ->getDefinitions());
  $non_proxy_definition = $container
    ->getDefinition('drupal.proxy_original_service.plugin_cache_clearer');
  $this
    ->assertEquals('Drupal\\Core\\Plugin\\CachedDiscoveryClearer', $non_proxy_definition
    ->getClass());
  $this
    ->assertFalse($non_proxy_definition
    ->isLazy());
  $this
    ->assertTrue($non_proxy_definition
    ->isPublic());
  $this
    ->assertEquals('Drupal\\Core\\ProxyClass\\Plugin\\CachedDiscoveryClearer', $container
    ->getDefinition('plugin_cache_clearer')
    ->getClass());
}