Same name and namespace in other branches
  1. 8.9.x core/modules/system/tests/src/Kernel/System/InfoAlterTest.php \Drupal\Tests\system\Kernel\System\InfoAlterTest
  2. 9 core/modules/system/tests/src/Kernel/System/InfoAlterTest.php \Drupal\Tests\system\Kernel\System\InfoAlterTest

Tests the effectiveness of hook_system_info_alter().

@group system

Hierarchy

  • class \Drupal\Tests\system\Kernel\System\InfoAlterTest extends \Drupal\KernelTests\KernelTestBase

Expanded class hierarchy of InfoAlterTest

File

core/modules/system/tests/src/Kernel/System/InfoAlterTest.php, line 14

Namespace

Drupal\Tests\system\Kernel\System
View source
class InfoAlterTest extends KernelTestBase {
  protected static $modules = [
    'system',
  ];

  /**
   * Tests that theme .info.yml data is rebuild after enabling a module.
   *
   * Tests that info data is rebuilt after a module that implements
   * hook_system_info_alter() is enabled. Also tests if core *_list() functions
   * return freshly altered info.
   */
  public function testSystemInfoAlter() {
    \Drupal::state()
      ->set('module_required_test.hook_system_info_alter', TRUE);
    $info = \Drupal::service('extension.list.module')
      ->getList();
    $this
      ->assertFalse(isset($info['node']->info['required']), 'Before the module_required_test is installed the node module is not required.');

    // Enable the test module.
    \Drupal::service('module_installer')
      ->install([
      'module_required_test',
    ], FALSE);
    $this
      ->assertTrue(\Drupal::moduleHandler()
      ->moduleExists('module_required_test'), 'Test required module is enabled.');
    $info = \Drupal::service('extension.list.module')
      ->getList();
    $this
      ->assertTrue($info['node']->info['required'], 'After the module_required_test is installed the node module is required.');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
InfoAlterTest::$modules protected static property
InfoAlterTest::testSystemInfoAlter public function Tests that theme .info.yml data is rebuild after enabling a module.