diff --git a/core/modules/field_ui/field_ui.test b/core/modules/field_ui/field_ui.test index 9b71064..1b832b6 100644 --- a/core/modules/field_ui/field_ui.test +++ b/core/modules/field_ui/field_ui.test @@ -9,6 +9,7 @@ * Provides common functionality for the Field UI test classes. */ class FieldUITestCase extends DrupalWebTestCase { + public static $modules = array('node', 'field_ui', 'field_test', 'taxonomy'); function setUp() { // Since this is a base class for many test cases, support the same @@ -18,10 +19,6 @@ class FieldUITestCase extends DrupalWebTestCase { if (isset($modules[0]) && is_array($modules[0])) { $modules = $modules[0]; } - $modules[] = 'node'; - $modules[] = 'field_ui'; - $modules[] = 'field_test'; - $modules[] = 'taxonomy'; parent::setUp($modules); // Create test user. diff --git a/core/modules/simpletest/drupal_web_test_case.php b/core/modules/simpletest/drupal_web_test_case.php index 591e8a1..93b07ee 100644 --- a/core/modules/simpletest/drupal_web_test_case.php +++ b/core/modules/simpletest/drupal_web_test_case.php @@ -1401,12 +1401,19 @@ class DrupalWebTestCase extends DrupalTestCase { // Install modules needed for this test. This could have been passed in as // either a single array argument or a variable number of string arguments. - // @todo Remove this compatibility layer in Drupal 8, and only accept - // $modules as a single array argument. + // @todo Remove this after fully converting to static $modules property. $modules = func_get_args(); if (isset($modules[0]) && is_array($modules[0])) { $modules = $modules[0]; } + // Collect modules to install. + $class = get_class($this); + while ($class) { + if (property_exists($class, 'modules')) { + $modules = array_merge($modules, $class::$modules); + } + $class = get_parent_class($class); + } if ($modules) { $success = module_enable($modules, TRUE); $this->assertTrue($success, t('Enabled modules: %modules', array('%modules' => implode(', ', $modules))));