function BlockTest::moveBlockToRegion in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/block/src/Tests/BlockTest.php \Drupal\block\Tests\BlockTest::moveBlockToRegion()
Moves a block to a given region via the UI and confirms the result.
Parameters
array $block: An array of information about the block, including the following keys:
- module: The module providing the block.
- title: The title of the block.
- delta: The block's delta key.
string $region: The machine name of the theme region to move the block to, for example 'header' or 'sidebar_first'.
1 call to BlockTest::moveBlockToRegion()
- BlockTest::testBlock in core/
modules/ block/ src/ Tests/ BlockTest.php - Test configuring and moving a module-define block to specific regions.
File
- core/
modules/ block/ src/ Tests/ BlockTest.php, line 285 - Contains \Drupal\block\Tests\BlockTest.
Class
- BlockTest
- Tests basic block functionality.
Namespace
Drupal\block\TestsCode
function moveBlockToRegion(array $block, $region) {
// Set the created block to a specific region.
$block += array(
'theme' => $this
->config('system.theme')
->get('default'),
);
$edit = array();
$edit['blocks[' . $block['id'] . '][region]'] = $region;
$this
->drupalPostForm('admin/structure/block', $edit, t('Save blocks'));
// Confirm that the block was moved to the proper region.
$this
->assertText(t('The block settings have been updated.'), format_string('Block successfully moved to %region_name region.', array(
'%region_name' => $region,
)));
// Confirm that the block is being displayed.
$this
->drupalGet('');
$this
->assertText(t($block['settings[label]']), 'Block successfully being displayed on the page.');
// Confirm that the custom block was found at the proper region.
$xpath = $this
->buildXPathQuery('//div[@class=:region-class]//div[@id=:block-id]/*', array(
':region-class' => 'region region-' . Html::getClass($region),
':block-id' => 'block-' . str_replace('_', '-', strtolower($block['id'])),
));
$this
->assertFieldByXPath($xpath, NULL, t('Block found in %region_name region.', array(
'%region_name' => Html::getClass($region),
)));
}