diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/DependencyTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/DependencyTest.php index 8fa84fe..d176fc3 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/DependencyTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/DependencyTest.php @@ -11,6 +11,14 @@ * Tests module dependency functionality. */ class DependencyTest extends ModuleTestBase { + + /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('system_test'); + public static function getInfo() { return array( 'name' => 'Module dependencies', diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/EnableDisableTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/EnableDisableTest.php index e73ace9..1f86140 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/EnableDisableTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/EnableDisableTest.php @@ -27,7 +27,8 @@ function testEnableDisable() { // hidden or required. $modules = system_rebuild_module_data(); foreach ($modules as $name => $module) { - if ($module->info['package'] != 'Core' || !empty($module->info['hidden']) || !empty($module->info['required'])) { + // Skip all non-core modules, and all hidden or required modules. + if (strpos($module->uri, 'core/modules') !== 0 || !empty($module->info['hidden']) || !empty($module->info['required'])) { unset($modules[$name]); } } @@ -88,7 +89,8 @@ function testEnableDisable() { // Install and enable the module. $edit = array(); - $edit['modules[Core][' . $name . '][enable]'] = $name; + $package = $module->info['package']; + $edit['modules[' . $package . '][' . $name . '][enable]'] = $name; $this->drupalPost('admin/modules', $edit, t('Save configuration')); // Handle the case where modules were installed along with this one and // where we therefore hit a confirmation screen. @@ -117,7 +119,7 @@ function testEnableDisable() { // for the dblog module, because that is needed for the test; we'll go // back and do that one at the end also. if ($name != 'dblog') { - $this->assertSuccessfulDisableAndUninstall($name); + $this->assertSuccessfulDisableAndUninstall($name, $package); } } } @@ -127,13 +129,14 @@ function testEnableDisable() { while (!empty($automatically_enabled)) { $initial_count = count($automatically_enabled); foreach (array_keys($automatically_enabled) as $name) { + $package = $modules[$name]->info['package']; // If the module can't be disabled due to dependencies, skip it and try // again the next time. Otherwise, try to disable it. $this->drupalGet('admin/modules'); - $disabled_checkbox = $this->xpath('//input[@type="checkbox" and @disabled="disabled" and @name="modules[Core][' . $name . '][enable]"]'); + $disabled_checkbox = $this->xpath('//input[@type="checkbox" and @disabled="disabled" and @name="modules[' . $package . '][' . $name . '][enable]"]'); if (empty($disabled_checkbox) && $name != 'dblog') { unset($automatically_enabled[$name]); - $this->assertSuccessfulDisableAndUninstall($name); + $this->assertSuccessfulDisableAndUninstall($name, $package); } } $final_count = count($automatically_enabled); @@ -158,8 +161,8 @@ function testEnableDisable() { // - That enabling more than one module at the same time does not lead to // any errors. $edit = array(); - foreach (array_keys($modules) as $name) { - $edit['modules[Core][' . $name . '][enable]'] = $name; + foreach ($modules as $name => $module) { + $edit['modules[' . $module->info['package'] . '][' . $name . '][enable]'] = $name; } $this->drupalPost('admin/modules', $edit, t('Save configuration')); $this->assertText(t('The configuration options have been saved.'), 'Modules status has been updated.'); @@ -170,11 +173,13 @@ function testEnableDisable() { * * @param string $module * The name of the module to disable and uninstall. + * @param string $package + * The package of the module to disable and uninstall. */ - function assertSuccessfulDisableAndUninstall($module) { + function assertSuccessfulDisableAndUninstall($module, $package = 'Core') { // Disable the module. $edit = array(); - $edit['modules[Core][' . $module . '][enable]'] = FALSE; + $edit['modules[' . $package . '][' . $module . '][enable]'] = FALSE; $this->drupalPost('admin/modules', $edit, t('Save configuration')); $this->assertText(t('The configuration options have been saved.'), 'Modules status has been updated.'); $this->assertModules(array($module), FALSE); diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/HookRequirementsTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/HookRequirementsTest.php index 1572f5d..cd008a2 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/HookRequirementsTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/HookRequirementsTest.php @@ -11,6 +11,14 @@ * Tests failure of hook_requirements('install'). */ class HookRequirementsTest extends ModuleTestBase { + + /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('system_test'); + public static function getInfo() { return array( 'name' => 'Requirements hook failure', diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php index b7fd25c..6da6424 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/ModuleTestBase.php @@ -16,13 +16,6 @@ */ abstract class ModuleTestBase extends WebTestBase { - /** - * Modules to enable. - * - * @var array - */ - public static $modules = array('system_test'); - protected $admin_user; function setUp() { diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php index 467a395..965a4f1 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/VersionTest.php @@ -17,7 +17,7 @@ class VersionTest extends ModuleTestBase { * * @var array */ - public static $modules = array('module_test'); + public static $modules = array('system_test', 'module_test'); public static function getInfo() { return array(