function ReflectionFactoryTest::testCreateInstance

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php \Drupal\Tests\Component\Plugin\Factory\ReflectionFactoryTest::testCreateInstance()
  2. 8.9.x core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php \Drupal\Tests\Component\Plugin\Factory\ReflectionFactoryTest::testCreateInstance()
  3. 10 core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php \Drupal\Tests\Component\Plugin\Factory\ReflectionFactoryTest::testCreateInstance()

@covers ::createInstance @dataProvider providerGetInstanceArguments

File

core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php, line 83

Class

ReflectionFactoryTest
@group Plugin @coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Component%21Plugin%21Factory%21ReflectionFactory.php/class/ReflectionFactory/11.x" title="A plugin factory that maps instance configuration to constructor arguments." class="local">\Drupal\Component\Plugin\Factory\ReflectionFactory</a>

Namespace

Drupal\Tests\Component\Plugin\Factory

Code

public function testCreateInstance($expected, $reflector_name, $plugin_id, $plugin_definition, $configuration) : void {
    // Create a mock DiscoveryInterface which can return our plugin definition.
    $mock_discovery = $this->getMockBuilder('Drupal\\Component\\Plugin\\Discovery\\DiscoveryInterface')
        ->onlyMethods([
        'getDefinition',
        'getDefinitions',
        'hasDefinition',
    ])
        ->getMock();
    $mock_discovery->expects($this->never())
        ->method('getDefinitions');
    $mock_discovery->expects($this->never())
        ->method('hasDefinition');
    $mock_discovery->expects($this->once())
        ->method('getDefinition')
        ->willReturn($plugin_definition);
    // Create a stub ReflectionFactory object. We use StubReflectionFactory
    // because createInstance() has a dependency on a static method.
    // StubReflectionFactory overrides this static method.
    $reflection_factory = new StubReflectionFactory($mock_discovery);
    // Finally test that createInstance() returns an object of the class we
    // want.
    $this->assertInstanceOf($reflector_name, $reflection_factory->createInstance($plugin_id));
}

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