You are here

function RequiredTest::testDisableRequired in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/system/src/Tests/Module/RequiredTest.php \Drupal\system\Tests\Module\RequiredTest::testDisableRequired()

Assert that core required modules cannot be disabled.

File

core/modules/system/src/Tests/Module/RequiredTest.php, line 19
Contains \Drupal\system\Tests\Module\RequiredTest.

Class

RequiredTest
Attempt disabling of required modules.

Namespace

Drupal\system\Tests\Module

Code

function testDisableRequired() {
  $module_info = system_get_info('module');
  $this
    ->drupalGet('admin/modules');
  foreach ($module_info as $module => $info) {

    // Check to make sure the checkbox for each required module is disabled
    // and checked (or absent from the page if the module is also hidden).
    if (!empty($info['required'])) {
      $field_name = "modules[{$info['package']}][{$module}][enable]";
      if (empty($info['hidden'])) {
        $this
          ->assertFieldByXPath("//input[@name='{$field_name}' and @disabled='disabled' and @checked='checked']", '', format_string('Field @name was disabled and checked.', array(
          '@name' => $field_name,
        )));
      }
      else {
        $this
          ->assertNoFieldByName($field_name);
      }
    }
  }
}