You are here

public function FactoryTest::testDefaultFactory in Drupal 10

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

Tests that DefaultFactory can create a plugin instance.

File

core/tests/Drupal/KernelTests/Core/Plugin/FactoryTest.php, line 22

Class

FactoryTest
Tests that plugins are correctly instantiated.

Namespace

Drupal\KernelTests\Core\Plugin

Code

public function testDefaultFactory() {

  // Ensure a non-derivative plugin can be instantiated.
  $plugin = $this->testPluginManager
    ->createInstance('user_login', [
    'title' => 'Please enter your login name and password',
  ]);
  $this
    ->assertSame('Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockUserLoginBlock', get_class($plugin), 'Correct plugin class instantiated with default factory.');
  $this
    ->assertSame('Please enter your login name and password', $plugin
    ->getTitle(), 'Plugin instance correctly configured.');

  // Ensure that attempting to instantiate non-existing plugins throws a
  // PluginException.
  try {
    $this->testPluginManager
      ->createInstance('non_existing');
    $this
      ->fail('Drupal\\Component\\Plugin\\Exception\\ExceptionInterface expected');
  } catch (\Exception $e) {
    $this
      ->assertInstanceOf(ExceptionInterface::class, $e);
  }
}