block_content_test.module in Drupal 9
Same filename and directory in other branches
A dummy module for testing custom block related hooks.
This is a dummy module that implements custom block related hooks to test API interaction with the block_content module.
File
core/modules/block_content/tests/modules/block_content_test/block_content_test.moduleView source
<?php
/**
* @file
* A dummy module for testing custom block related hooks.
*
* This is a dummy module that implements custom block related hooks to test API
* interaction with the block_content module.
*/
use Drupal\block_content\Entity\BlockContent;
/**
* Implements hook_block_content_view().
*/
function block_content_test_block_content_view(array &$build, BlockContent $block_content, $view_mode) {
// Add extra content.
$build['extra_content'] = [
'#markup' => '<blink>Yowser</blink>',
];
}
/**
* Implements hook_block_content_presave().
*/
function block_content_test_block_content_presave(BlockContent $block_content) {
if ($block_content
->label() == 'testing_block_content_presave') {
$block_content
->setInfo($block_content
->label() . '_presave');
}
// Determine changes.
if (!empty($block_content->original) && $block_content->original
->label() == 'test_changes') {
if ($block_content->original
->label() != $block_content
->label()) {
$block_content
->setInfo($block_content
->label() . '_presave');
// Drupal 1.0 release.
$block_content->changed = 979534800;
}
}
}
/**
* Implements hook_block_content_update().
*/
function block_content_test_block_content_update(BlockContent $block_content) {
// Determine changes on update.
if (!empty($block_content->original) && $block_content->original
->label() == 'test_changes') {
if ($block_content->original
->label() != $block_content
->label()) {
$block_content
->setInfo($block_content
->label() . '_update');
}
}
}
/**
* Implements hook_block_content_insert().
*
* This tests saving a block_content on block_content insert.
*
* @see \Drupal\block_content\Tests\BlockContentSaveTest::testBlockContentSaveOnInsert()
*/
function block_content_test_block_content_insert(BlockContent $block_content) {
// Set the block_content title to the block_content ID and save.
if ($block_content
->label() == 'new') {
$block_content
->setInfo('BlockContent ' . $block_content
->id());
$block_content
->setNewRevision(FALSE);
$block_content
->save();
}
if ($block_content
->label() == 'fail_creation') {
throw new Exception('Test exception for rollback.');
}
}
Functions
Name | Description |
---|---|
block_content_test_block_content_insert | Implements hook_block_content_insert(). |
block_content_test_block_content_presave | Implements hook_block_content_presave(). |
block_content_test_block_content_update | Implements hook_block_content_update(). |
block_content_test_block_content_view | Implements hook_block_content_view(). |