Commit e6059d4b authored by webchick's avatar webchick
Browse files

#610072 by boombatower, chx, effulgentsia, and yched: Fixed setUp() function...

#610072 by boombatower, chx, effulgentsia, and yched: Fixed setUp() function accepting array as arguments.
parent 8439d8df
......@@ -15,11 +15,14 @@ class FieldTestCase extends DrupalWebTestCase {
/**
* Set the default field storage backend for fields created during tests.
*/
function setUp() {
// Call parent::setUp().
// See http://www.php.net/manual/en/function.call-user-func-array.php#73105.
$args = func_get_args();
call_user_func_array(array($this, 'parent::setUp'), $args);
function setUp($modules = array()) {
// Since this is a base class for many test cases, support the same
// flexibility that DrupalWebTestCase::setUp() has for the modules to be
// passed in as either an array or a variable number of string arguments.
if (!is_array($modules)) {
$modules = func_get_args();
}
parent::setUp($modules);
// Set default storage backend.
variable_set('field_storage_default', $this->default_storage);
}
......@@ -69,8 +72,17 @@ class FieldTestCase extends DrupalWebTestCase {
}
class FieldAttachTestCase extends FieldTestCase {
function setUp() {
parent::setUp('field_test');
function setUp($modules = array()) {
// Since this is a base class for many test cases, support the same
// flexibility that DrupalWebTestCase::setUp() has for the modules to be
// passed in as either an array or a variable number of string arguments.
if (!is_array($modules)) {
$modules = func_get_args();
}
if (!in_array('field_test', $modules)) {
$modules[] = 'field_test';
}
parent::setUp($modules);
$this->field_name = drupal_strtolower($this->randomName() . '_field_name');
$this->field = array('field_name' => $this->field_name, 'type' => 'test_field', 'cardinality' => 4);
......
......@@ -1097,9 +1097,10 @@ protected function drupalLogout() {
* is created with the same name as the database prefix.
*
* @param ...
* List of modules to enable for the duration of the test.
* List of modules to enable for the duration of the test. This can be
* either a single array or a variable number of string arguments.
*/
protected function setUp() {
protected function setUp($modules = array()) {
global $db_prefix, $user, $language, $conf;
// Store necessary current values before switching to prefixed database.
......@@ -1159,8 +1160,14 @@ protected function setUp() {
// Install the modules specified by the default profile.
module_enable($profile_details['dependencies'], FALSE);
// Install modules needed for this test.
if ($modules = func_get_args()) {
// 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.
if (!is_array($modules)) {
$modules = func_get_args();
}
if ($modules) {
module_enable($modules, TRUE);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment