* Provides common functionality for the Field UI test classes.
*/
class FieldUiTestBase extends WebTestBase {
+ 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
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.
// 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))));