You are here

public function TestPluginManager::__construct in Drupal 9

Same name in this branch
  1. 9 core/tests/Drupal/Tests/Core/Plugin/TestPluginManager.php \Drupal\Tests\Core\Plugin\TestPluginManager::__construct()
  2. 9 core/modules/system/tests/modules/plugin_test/src/Plugin/TestPluginManager.php \Drupal\plugin_test\Plugin\TestPluginManager::__construct()
Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Plugin/TestPluginManager.php \Drupal\Tests\Core\Plugin\TestPluginManager::__construct()

Constructs a TestPluginManager object.

Parameters

\Traversable $namespaces: An object that implements \Traversable which contains the root paths keyed by the corresponding namespace to look for plugin implementations.

array $definitions: An array of static definitions.

\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: (optional) The module handler to invoke the alter hook with.

string $alter_hook: (optional) Name of the alter hook.

string $interface: (optional) The interface required for the plugins.

Overrides DefaultPluginManager::__construct

File

core/tests/Drupal/Tests/Core/Plugin/TestPluginManager.php, line 30

Class

TestPluginManager
A plugin manager for condition plugins.

Namespace

Drupal\Tests\Core\Plugin

Code

public function __construct(\Traversable $namespaces, array $definitions, ModuleHandlerInterface $module_handler = NULL, $alter_hook = NULL, $interface = NULL) {

  // 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->discovery, $interface);

  // Add the static definitions.
  foreach ($definitions as $key => $definition) {
    $this->discovery
      ->setDefinition($key, $definition);
  }
  $this->moduleHandler = $module_handler;
  if ($alter_hook) {
    $this
      ->alterInfo($alter_hook);
  }
}