function InspectionTest::testInspection
Ensure the test plugins correctly implement getPluginId() and getPluginDefinition().
File
- 
              core/tests/ Drupal/ KernelTests/ Core/ Plugin/ InspectionTest.php, line 22 
Class
- InspectionTest
- Tests that plugins implementing PluginInspectionInterface can be inspected.
Namespace
Drupal\KernelTests\Core\PluginCode
public function testInspection() : void {
  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());
  }
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
