You are here

function module_test_system_info_alter in Drupal 8

Same name and namespace in other branches
  1. 7 modules/simpletest/tests/module_test.module \module_test_system_info_alter()
  2. 9 core/modules/system/tests/modules/module_test/module_test.module \module_test_system_info_alter()
  3. 10 core/modules/system/tests/modules/module_test/module_test.module \module_test_system_info_alter()

Implements hook_system_info_alter().

Manipulate module dependencies to test dependency chains.

File

core/modules/system/tests/modules/module_test/module_test.module, line 15
Test module.

Code

function module_test_system_info_alter(&$info, Extension $file, $type) {
  if (\Drupal::state()
    ->get('module_test.dependency') == 'missing dependency') {
    if ($file
      ->getName() == 'color') {

      // Make color module depend on config.
      $info['dependencies'][] = 'config';
    }
    elseif ($file
      ->getName() == 'config') {

      // Make config module depend on a non-existing module.
      $info['dependencies'][] = 'foo';
    }
  }
  elseif (\Drupal::state()
    ->get('module_test.dependency') == 'dependency') {
    if ($file
      ->getName() == 'color') {

      // Make color module depend on config.
      $info['dependencies'][] = 'config';
    }
    elseif ($file
      ->getName() == 'config') {

      // Make config module depend on help module.
      $info['dependencies'][] = 'help';
    }
    elseif ($file
      ->getName() == 'entity_test') {

      // Make entity test module depend on help module.
      $info['dependencies'][] = 'help';
    }
  }
  elseif (\Drupal::state()
    ->get('module_test.dependency') == 'version dependency') {
    if ($file
      ->getName() == 'color') {

      // Make color module depend on config.
      $info['dependencies'][] = 'config';
    }
    elseif ($file
      ->getName() == 'config') {

      // Make config module depend on a specific version of help module.
      $info['dependencies'][] = 'help (1.x)';
    }
    elseif ($file
      ->getName() == 'help') {

      // Set help module to a version compatible with the above.
      $info['version'] = '8.x-1.0';
    }
  }
  if ($file
    ->getName() == 'seven' && $type == 'theme') {
    $info['regions']['test_region'] = 'Test region';
  }
}