You are here

public function InspectionTest::testInspection in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Plugin/InspectionTest.php \Drupal\KernelTests\Core\Plugin\InspectionTest::testInspection()
  2. 9 core/tests/Drupal/KernelTests/Core/Plugin/InspectionTest.php \Drupal\KernelTests\Core\Plugin\InspectionTest::testInspection()

Ensure the test plugins correctly implement getPluginId() and getPluginDefinition().

File

core/tests/Drupal/KernelTests/Core/Plugin/InspectionTest.php, line 20

Class

InspectionTest
Tests that plugins implementing PluginInspectionInterface are inspectable.

Namespace

Drupal\KernelTests\Core\Plugin

Code

public function testInspection() {
  foreach ([
    'user_login',
  ] as $id) {
    $plugin = $this->testPluginManager
      ->createInstance($id);
    $expected_definition = $this->testPluginExpectedDefinitions[$id];
    $this
      ->assertSame($id, $plugin
      ->getPluginId());
    $this
      ->assertSame($expected_definition, $this->testPluginManager
      ->getDefinition($id));
    $this
      ->assertSame($expected_definition, $plugin
      ->getPluginDefinition());
  }

  // Skip the 'menu' derived blocks, because MockMenuBlock does not implement
  // PluginInspectionInterface. The others do by extending PluginBase.
  foreach ([
    'user_login',
    'layout',
  ] as $id) {
    $plugin = $this->mockBlockManager
      ->createInstance($id);
    $expected_definition = $this->mockBlockExpectedDefinitions[$id];
    $this
      ->assertSame($id, $plugin
      ->getPluginId());
    $this
      ->assertEquals($expected_definition, $this->mockBlockManager
      ->getDefinition($id));
    $this
      ->assertEquals($expected_definition, $plugin
      ->getPluginDefinition());
  }

  // Test a plugin manager that provides defaults.
  foreach ([
    'test_block1',
    'test_block2',
  ] as $id) {
    $plugin = $this->defaultsTestPluginManager
      ->createInstance($id);
    $expected_definition = $this->defaultsTestPluginExpectedDefinitions[$id];
    $this
      ->assertSame($id, $plugin
      ->getPluginId());
    $this
      ->assertSame($expected_definition, $this->defaultsTestPluginManager
      ->getDefinition($id));
    $this
      ->assertEquals($expected_definition, $plugin
      ->getPluginDefinition());
  }
}