DefaultsTestPluginManager.php
Same filename in other branches
Namespace
Drupal\plugin_test\PluginFile
-
core/
modules/ system/ tests/ modules/ plugin_test/ src/ Plugin/ DefaultsTestPluginManager.php
View source
<?php
namespace Drupal\plugin_test\Plugin;
use Drupal\Component\Plugin\Discovery\StaticDiscovery;
use Drupal\Component\Plugin\Factory\DefaultFactory;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\DefaultPluginManager;
/**
* Defines a plugin manager used by Plugin API unit tests.
*/
class DefaultsTestPluginManager extends DefaultPluginManager {
/**
* Constructs a new DefaultsTestPluginManager instance.
*
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler.
*/
public function __construct(ModuleHandlerInterface $module_handler) {
// Create the object that can be used to return definitions for all the
// plugins available for this type. Most real plugin managers use a richer
// discovery implementation, but StaticDiscovery lets us add some simple
// mock plugins for unit testing.
$this->discovery = new StaticDiscovery();
$this->factory = new DefaultFactory($this, 'Drupal\\Component\\Plugin\\PluginInspectionInterface');
$this->moduleHandler = $module_handler;
// Specify default values.
$this->defaults = [
'metadata' => [
'default' => TRUE,
],
];
// Add a plugin with a custom value.
$this->discovery
->setDefinition('test_block1', [
'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
'metadata' => [
'custom' => TRUE,
],
]);
// Add a plugin that overrides the default value.
$this->discovery
->setDefinition('test_block2', [
'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
'metadata' => [
'custom' => TRUE,
'default' => FALSE,
],
]);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
DefaultsTestPluginManager | Defines a plugin manager used by Plugin API unit tests. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.