You are here

function ModuleHandlerTest::testModuleList in Service Container 7

Same name and namespace in other branches
  1. 7.2 lib/Drupal/service_container/Tests/ModuleHandlerTest.php \Drupal\service_container\Tests\ModuleHandlerTest::testModuleList()

The basic functionality of retrieving enabled modules.

File

lib/Drupal/service_container/Tests/ModuleHandlerTest.php, line 29
Contains \Drupal\service_container\Tests\ModuleHandlerTest.

Class

ModuleHandlerTest
Tests the module_handler implementation of the service_container.

Namespace

Drupal\service_container\Tests

Code

function testModuleList() {

  // Build a list of modules, sorted alphabetically.
  $profile_info = install_profile_info('testing', 'en');
  $module_list = $profile_info['dependencies'];

  // Installation profile is a module that is expected to be loaded.
  $module_list[] = 'testing';
  $module_list[] = 'service_container';
  sort($module_list);

  // Compare this list to the one returned by the module handler. We expect
  // them to match, since all default profile modules have a weight equal to 0
  // (except for block.module, which has a lower weight but comes first in
  // the alphabet anyway).
  $this
    ->assertModuleList($module_list, 'Testing profile');

  // Try to install a new module.
  $this
    ->moduleInstaller()
    ->install(array(
    'ban',
  ));
  $module_list[] = 'ban';
  sort($module_list);
  $this
    ->assertModuleList($module_list, 'After adding a module');

  // Try to mess with the module weights.
  // @FIXME
  //    module_set_weight('ban', 20);
  // Move ban to the end of the array.
  unset($module_list[array_search('ban', $module_list)]);
  $module_list[] = 'ban';
  $this
    ->assertModuleList($module_list, 'After changing weights');

  // Test the fixed list feature.
  $fixed_list = array(
    'system' => 'core/modules/system/system.module',
    'menu' => 'core/modules/menu/menu.module',
  );
  $this
    ->moduleHandler()
    ->setModuleList($fixed_list);
  $new_module_list = array_combine(array_keys($fixed_list), array_keys($fixed_list));
  $this
    ->assertModuleList($new_module_list, t('When using a fixed list'));
}