function BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions
Same name in this branch
- 10 core/modules/block_content/tests/src/Kernel/BlockTemplateSuggestionsTest.php \Drupal\Tests\block_content\Kernel\BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions()
Same name in other branches
- 9 core/modules/block/tests/src/Kernel/BlockTemplateSuggestionsTest.php \Drupal\Tests\block\Kernel\BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions()
- 8.9.x core/modules/block/tests/src/Kernel/BlockTemplateSuggestionsTest.php \Drupal\Tests\block\Kernel\BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions()
- 11.x core/modules/block_content/tests/src/Kernel/BlockTemplateSuggestionsTest.php \Drupal\Tests\block_content\Kernel\BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions()
- 11.x core/modules/block/tests/src/Kernel/BlockTemplateSuggestionsTest.php \Drupal\Tests\block\Kernel\BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions()
Tests template suggestions from block_theme_suggestions_block().
File
-
core/
modules/ block/ tests/ src/ Kernel/ BlockTemplateSuggestionsTest.php, line 28
Class
- BlockTemplateSuggestionsTest
- Tests the block_theme_suggestions_block() function.
Namespace
Drupal\Tests\block\KernelCode
public function testBlockThemeHookSuggestions() : void {
$this->installConfig([
'system',
]);
// Create a block using a plugin with derivative to be preprocessed.
$block = Block::create([
'plugin' => 'system_menu_block:admin',
'region' => 'footer',
'id' => 'machine_name',
]);
$variables = [];
/** @var \Drupal\Core\Block\BlockPluginInterface $plugin */
$plugin = $block->getPlugin();
$variables['elements']['#configuration'] = $plugin->getConfiguration();
$variables['elements']['#plugin_id'] = $plugin->getPluginId();
$variables['elements']['#id'] = $block->id();
$variables['elements']['#base_plugin_id'] = $plugin->getBaseId();
$variables['elements']['#derivative_plugin_id'] = $plugin->getDerivativeId();
$variables['elements']['content'] = [];
$suggestions = block_theme_suggestions_block($variables);
$this->assertSame([
'block__system',
'block__system_menu_block',
'block__system_menu_block__admin',
'block__machine_name',
], $suggestions);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.