function DefaultPluginManagerTest::testCreateInstanceWithInvalidInterfaces
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php \Drupal\Tests\Core\Plugin\DefaultPluginManagerTest::testCreateInstanceWithInvalidInterfaces()
- 8.9.x core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php \Drupal\Tests\Core\Plugin\DefaultPluginManagerTest::testCreateInstanceWithInvalidInterfaces()
- 11.x core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php \Drupal\Tests\Core\Plugin\DefaultPluginManagerTest::testCreateInstanceWithInvalidInterfaces()
Tests plugins without the proper interface.
@covers ::createInstance
File
-
core/
tests/ Drupal/ Tests/ Core/ Plugin/ DefaultPluginManagerTest.php, line 292
Class
- DefaultPluginManagerTest
- Tests the DefaultPluginManager.
Namespace
Drupal\Tests\Core\PluginCode
public function testCreateInstanceWithInvalidInterfaces() : void {
$module_handler = $this->createMock('Drupal\\Core\\Extension\\ModuleHandlerInterface');
$module_handler->expects($this->any())
->method('moduleExists')
->with('plugin_test')
->willReturn(TRUE);
$this->expectedDefinitions['kale'] = [
'id' => 'kale',
'label' => 'Kale',
'color' => 'green',
'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\fruit\\Kale',
'provider' => 'plugin_test',
];
$this->expectedDefinitions['apple']['provider'] = 'plugin_test';
$this->expectedDefinitions['banana']['provider'] = 'plugin_test';
$plugin_manager = new TestPluginManager($this->namespaces, $this->expectedDefinitions, $module_handler, NULL, '\\Drupal\\plugin_test\\Plugin\\plugin_test\\fruit\\FruitInterface');
$this->expectException(PluginException::class);
$this->expectExceptionMessage('Plugin "kale" (Drupal\\plugin_test\\Plugin\\plugin_test\\fruit\\Kale) must implement interface \\Drupal\\plugin_test\\Plugin\\plugin_test\\fruit\\FruitInterface');
$plugin_manager->createInstance('kale');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.