public function TestPluginManager::__construct

1 call to TestPluginManager::__construct()
AlterDecoratorTestPluginManager::__construct in drupal/core/modules/system/tests/modules/plugin_test/lib/Drupal/plugin_test/Plugin/AlterDecoratorTestPluginManager.php
1 method overrides TestPluginManager::__construct()
AlterDecoratorTestPluginManager::__construct in drupal/core/modules/system/tests/modules/plugin_test/lib/Drupal/plugin_test/Plugin/AlterDecoratorTestPluginManager.php

File

drupal/core/modules/system/tests/modules/plugin_test/lib/Drupal/plugin_test/Plugin/TestPluginManager.php, line 19
Definition of Drupal\plugin_test\Plugin\TestPluginManager.

Class

TestPluginManager
Defines a plugin manager used by Plugin API unit tests.

Namespace

Drupal\plugin_test\Plugin

Code

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', array(
    '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
  // factory classes included with the plugin system, or create their own.
  // DefaultFactory is a simple, general purpose factory suitable for
  // many kinds of plugin types. Factories need access to the plugin
  // definitions (e.g., since that's where the plugin's class is specified),
  // so we provide it the discovery object.
  $this->factory = new DefaultFactory($this->discovery);
}