function PluginAlterTest::testPluginClassSwap

Tests hook_element_plugin_alter().

File

core/tests/Drupal/KernelTests/Core/Render/Element/PluginAlterTest.php, line 39

Class

PluginAlterTest
@group Render

Namespace

Drupal\KernelTests\Core\Render\Element

Code

public function testPluginClassSwap() : void {
  $info_manager = $this->container
    ->get('plugin.manager.element_info');
  $test_details = [
    '#type' => 'details',
    '#title' => 'Title',
    '#description' => 'Description',
    '#open' => TRUE,
  ];
  // @see ElementInfoTestHooks::elementPluginAlter().
  $expected = [
    'class' => 'Drupal\\element_info_test\\Render\\Element\\Details',
    'provider' => 'element_info_test',
    'id' => 'details',
  ];
  $this->assertEquals($expected, $info_manager->getDefinitions()['details']);
  \Drupal::service('renderer')->renderRoot($test_details);
  $this->assertArrayHasKey('#custom', $test_details);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.