function ContainerTest::testGetForFactoryClass

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

Tests that Container::get() for factories via class works (Symfony 2.7.0).

@legacy-covers ::get @legacy-covers ::createService

File

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

Class

ContainerTest
Tests Drupal\Component\DependencyInjection\Container.

Namespace

Drupal\Tests\Component\DependencyInjection

Code

public function testGetForFactoryClass() : void {
  $service = $this->container
    ->get('service.provider');
  $factory_service = $this->container
    ->get('factory_class');
  $this->assertInstanceOf(get_class($service), $factory_service);
  $this->assertEquals('bar', $factory_service->getSomeParameter(), 'Correct parameter was passed via the factory class instantiation.');
  $this->assertEquals($this->container, $factory_service->getContainer(), 'Container was injected via setter injection.');
}

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