123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- namespace Drupal\Tests\block\Functional;
- use Drupal\block\Entity\Block;
- use Drupal\Tests\BrowserTestBase;
- /**
- * Tests the block_theme_suggestions_block() function.
- *
- * @group block
- */
- class BlockTemplateSuggestionsTest extends BrowserTestBase {
- /**
- * Modules to install.
- *
- * @var array
- */
- public static $modules = ['block'];
- /**
- * Tests template suggestions from block_theme_suggestions_block().
- */
- public function testBlockThemeHookSuggestions() {
- // Define a block with a derivative to be preprocessed, which includes both
- // an underscore (not transformed) and a hyphen (transformed to underscore),
- // and generates possibilities for each level of derivative.
- // @todo Clarify this comment.
- $block = Block::create([
- 'plugin' => 'system_menu_block:admin',
- 'region' => 'footer',
- 'id' => 'machinename',
- ]);
- $variables = [];
- $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->assertEqual($suggestions, ['block__system', 'block__system_menu_block', 'block__system_menu_block__admin', 'block__machinename']);
- }
- }
|