config_test.module
Same filename in other branches
File
-
core/
modules/ config/ tests/ config_test/ config_test.module
View source
<?php
/**
* @file
* Provides Config module hook implementations for testing purposes.
*/
declare (strict_types=1);
require_once dirname(__FILE__) . '/config_test.hooks.inc';
use Drupal\Core\Entity\Query\QueryInterface;
/**
* Implements hook_cache_flush().
*/
function config_test_cache_flush() {
// Set a global value we can check in test code.
$GLOBALS['hook_cache_flush'] = __FUNCTION__;
}
/**
* Implements hook_entity_type_alter().
*/
function config_test_entity_type_alter(array &$entity_types) {
/** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
// The 'translatable' entity key is not supposed to change over time. In this
// case we can safely do it because we set it once and we do not change it for
// all the duration of the test session.
$entity_types['config_test']->set('translatable', \Drupal::service('state')->get('config_test.translatable'));
// Create a clone of config_test that does not have a status.
$entity_types['config_test_no_status'] = clone $entity_types['config_test'];
$config_test_no_status =& $entity_types['config_test_no_status'];
$config_test_no_status->setLinkTemplate('edit-form', '/admin/structure/config_test/manage/{config_test_no_status}');
$config_test_no_status->setLinkTemplate('delete-form', '/admin/structure/config_test/manage/{config_test_no_status}/delete');
$keys = $config_test_no_status->getKeys();
unset($keys['status']);
$config_test_no_status->set('id', 'config_test_no_status');
$config_test_no_status->set('entity_keys', $keys);
$config_test_no_status->set('config_prefix', 'no_status');
$config_test_no_status->set('mergedConfigExport', [
'id' => 'id',
'label' => 'label',
'uuid' => 'uuid',
'langcode' => 'langcode',
]);
if (\Drupal::service('state')->get('config_test.lookup_keys', FALSE)) {
$entity_types['config_test']->set('lookup_keys', [
'uuid',
'style',
]);
}
if (\Drupal::service('state')->get('config_test.class_override', FALSE)) {
$entity_types['config_test']->setClass(\Drupal::service('state')->get('config_test.class_override'));
}
}
/**
* Implements hook_entity_query_tag__ENTITY_TYPE__TAG_alter().
*
* Entity type is 'config_query_test' and tag is
* 'config_entity_query_alter_hook_test'.
*
* @see Drupal\KernelTests\Core\Entity\ConfigEntityQueryTest::testAlterHook
*/
function config_test_entity_query_tag__config_query_test__config_entity_query_alter_hook_test_alter(QueryInterface $query) : void {
$query->condition('id', '7', '<>');
}
Functions
Title | Deprecated | Summary |
---|---|---|
config_test_cache_flush | Implements hook_cache_flush(). | |
config_test_entity_query_tag__config_query_test__config_entity_query_alter_hook_test_alter | Implements hook_entity_query_tag__ENTITY_TYPE__TAG_alter(). | |
config_test_entity_type_alter | Implements hook_entity_type_alter(). |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.