/**
* Defines a plugin manager used by Plugin API unit tests.
*/
class TestPluginManager extends PluginManagerBase
{ public function __construct() { // 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();
// A simple plugin: a mock user login block.
$this->discovery->
setDefinition('user_login',
[ 'label' => 'User login',
'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockUserLoginBlock',
]);
// In addition to finding all of the plugins available for a type, a plugin
// type must also be able to create instances of that plugin. For example, a
// specific instance of a "User login" block, configured with a custom
// title. To handle plugin instantiation, plugin managers can use one of the