config_schema_test.module

Same filename and directory in other branches
  1. 9 core/modules/config/tests/config_schema_test/config_schema_test.module
  2. 8.9.x core/modules/config/tests/config_schema_test/config_schema_test.module
  3. 11.x core/modules/config/tests/config_schema_test/config_schema_test.module

Tests configuration schema functionality.

File

core/modules/config/tests/config_schema_test/config_schema_test.module

View source
<?php


/**
 * @file
 * Tests configuration schema functionality.
 */


/**
 * Implements hook_config_schema_info_alter().
 */
function config_schema_test_config_schema_info_alter(&$definitions) {
  if (\Drupal::state()->get('config_schema_test_exception_add')) {
    $definitions['config_schema_test.hook_added_definition'] = $definitions['config_schema_test.hook'];
  }
  if (\Drupal::state()->get('config_schema_test_exception_remove')) {
    unset($definitions['config_schema_test.hook']);
  }
  // Since code can not be unloaded only alter the definition if it exists.
  if (isset($definitions['config_schema_test.hook'])) {
    $definitions['config_schema_test.hook']['additional_metadata'] = 'new schema info';
  }
  // @see \Drupal\KernelTests\Core\TypedData\ValidKeysConstraintValidatorTest
  if (\Drupal::state()->get('config_schema_test_block_fully_validatable')) {
    $definitions['block.block.*']['constraints']['FullyValidatable'] = NULL;
  }
  else {
    unset($definitions['block.block.*']['constraints']);
  }
  // @see \Drupal\Tests\node\Kernel\NodeTypeValidationTest::testThirdPartySettingsMenuUi()
  if (\Drupal::state()->get('config_schema_test_menu_ui_third_party_settings_fully_validatable')) {
    $definitions['node.type.*.third_party.menu_ui']['constraints']['FullyValidatable'] = NULL;
  }
  else {
    unset($definitions['node.type.*.third_party.menu_ui']['constraints']);
  }
}

Functions

Title Deprecated Summary
config_schema_test_config_schema_info_alter Implements hook_config_schema_info_alter().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.