proxyServicesPass = new ProxyServicesPass(); } /** * @covers ::process */ public function testContainerWithoutLazyServices() { $container = new ContainerBuilder(); $container->register('plugin_cache_clearer', 'Drupal\Core\Plugin\CachedDiscoveryClearer'); $this->proxyServicesPass->process($container); $this->assertCount(2, $container->getDefinitions()); $this->assertEquals('Drupal\Core\Plugin\CachedDiscoveryClearer', $container->getDefinition('plugin_cache_clearer')->getClass()); } /** * @covers ::process */ 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()); } /** * @covers ::process */ public function testContainerWithLazyServicesWithoutProxyClass() { $container = new ContainerBuilder(); $container->register('alias_whitelist', 'Drupal\Core\Path\AliasWhitelist') ->setLazy(TRUE); $this->setExpectedException(InvalidArgumentException::class); $this->proxyServicesPass->process($container); } }