You are here

public function LimitedPluginDiscoveryDecoratorTest::testGetDefinitions in Plugin 8.2

@covers ::getDefinitions @covers ::processDecoratedDefinitions @covers ::setDiscoveryLimit @covers ::resetDiscoveryLimit

File

tests/src/Unit/PluginDiscovery/LimitedPluginDiscoveryDecoratorTest.php, line 52

Class

LimitedPluginDiscoveryDecoratorTest
@coversDefaultClass \Drupal\plugin\PluginDiscovery\LimitedPluginDiscoveryDecorator

Namespace

Drupal\Tests\plugin\Unit\PluginDiscovery

Code

public function testGetDefinitions() {
  $plugin_id_a = $this
    ->randomMachineName();
  $plugin_definition_a = [
    'id' => $plugin_id_a,
  ];
  $plugin_id_b = $this
    ->randomMachineName();
  $plugin_definition_b = [
    'id' => $plugin_id_b,
  ];
  $plugin_id_c = $this
    ->randomMachineName();
  $plugin_definition_c = [
    'id' => $plugin_id_c,
  ];
  $plugin_definitions = [
    $plugin_id_a => $plugin_definition_a,
    $plugin_id_b => $plugin_definition_b,
    $plugin_id_c => $plugin_definition_c,
  ];
  $this->pluginManager
    ->expects($this
    ->atLeastOnce())
    ->method('getDefinitions')
    ->willReturn($plugin_definitions);
  $this->sut
    ->setDiscoveryLimit([
    $plugin_id_a,
    $plugin_id_c,
  ]);
  $expected_plugin_definitions = [
    $plugin_id_a => $plugin_definition_a,
    $plugin_id_c => $plugin_definition_c,
  ];
  $this
    ->assertEquals($expected_plugin_definitions, $this->sut
    ->getDefinitions());
  $this->sut
    ->resetDiscoveryLimit();
  $this
    ->assertEquals($plugin_definitions, $this->sut
    ->getDefinitions());
}