PluginAlterTest.php 928 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace Drupal\KernelTests\Core\Render\Element;
  3. use Drupal\KernelTests\KernelTestBase;
  4. /**
  5. * @group Render
  6. */
  7. class PluginAlterTest extends KernelTestBase {
  8. /**
  9. * {@inheritdoc}
  10. */
  11. protected static $modules = ['element_info_test'];
  12. /**
  13. * Tests hook_element_plugin_alter().
  14. */
  15. public function testPluginAlter() {
  16. $info_manager = $this->container->get('plugin.manager.element_info');
  17. $this->assertArrayHasKey('weight', $info_manager->getDefinitions());
  18. // @see element_info_test_element_plugin_alter()
  19. $this->container->get('state')->set('hook_element_plugin_alter:remove_weight', TRUE);
  20. // The definition will be cached.
  21. $this->assertArrayHasKey('weight', $info_manager->getDefinitions());
  22. // Clearing the caches removes the definition.
  23. $info_manager->clearCachedDefinitions();
  24. $this->assertArrayNotHasKey('weight', $info_manager->getDefinitions());
  25. }
  26. }