Commit fa94c66c authored by Dries's avatar Dries

- Patch #328719 by c960657: make the module list tests succeed again.

parent 42425019
......@@ -497,8 +497,8 @@ function drupal_http_request($url, $headers = array(), $method = 'GET', $data =
// user-agent is used to ensure that multiple testing sessions running at the
// same time won't interfere with each other as they would if the database
// prefix were stored statically in a file or database variable.
if (preg_match("/^simpletest\d+/", $db_prefix)) {
$headers['User-Agent'] = $db_prefix;
if (preg_match("/simpletest\d+/", $db_prefix, $matches)) {
$headers['User-Agent'] = $matches[0];
}
foreach ($headers as $header => $value) {
......
......@@ -1005,7 +1005,7 @@ public static function addConnectionInfo($key, $target, $info) {
// We need to pass around the simpletest database prefix in the request
// and we put that in the user_agent header.
if (preg_match("/^simpletest\d+$/", $_SERVER['HTTP_USER_AGENT'])) {
$db_prefix = $_SERVER['HTTP_USER_AGENT'];
$db_prefix .= $_SERVER['HTTP_USER_AGENT'];
}
// Return the target that was actually opened in case the requested one
......
......@@ -689,7 +689,7 @@ function setUp() {
$clean_url_original = variable_get('clean_url', 0);
// Generate temporary prefixed database to ensure that tests have a clean starting point.
$db_prefix = 'simpletest' . mt_rand(1000, 1000000);
$db_prefix = Database::getActiveConnection()->prefixTables('{simpletest' . mt_rand(1000, 1000000) . '}');
include_once DRUPAL_ROOT . '/includes/install.inc';
drupal_install_system();
......@@ -800,8 +800,8 @@ protected function curlConnect() {
CURLOPT_SSL_VERIFYPEER => FALSE, // Required to make the tests run on https://
CURLOPT_SSL_VERIFYHOST => FALSE, // Required to make the tests run on https://
);
if (preg_match('/simpletest\d+/', $db_prefix)) {
$curl_options[CURLOPT_USERAGENT] = $db_prefix;
if (preg_match('/simpletest\d+/', $db_prefix, $matches)) {
$curl_options[CURLOPT_USERAGENT] = $matches[0];
}
if (!isset($curl_options[CURLOPT_USERPWD]) && ($auth = variable_get('simpletest_httpauth_username', ''))) {
if ($pass = variable_get('simpletest_httpauth_pass', '')) {
......
......@@ -514,11 +514,16 @@ function simpletest_clean_environment() {
* Removed prefixed talbes from the database that are left over from crashed tests.
*/
function simpletest_clean_database() {
$tables = db_find_tables(Database::getActiveConnection()->prefixTables('simpletest') . '%');
global $db_prefix;
$tables = db_find_tables(Database::getActiveConnection()->prefixTables('{simpletest}') . '%');
$schema = drupal_get_schema_unprocessed('simpletest');
$ret = array();
foreach (array_diff_key($tables, $schema) as $table) {
db_drop_table($ret, $table);
// Strip $db_prefix and skip tables without digits following "simpletest",
// e.g. {simpletest_tets_id}.
if (preg_match('/simpletest\d+.*/', $table, $matches)) {
db_drop_table($ret, $matches[0]);
}
}
if (count($ret) > 0) {
......
......@@ -321,6 +321,7 @@ class JavaScriptTestCase extends DrupalWebTestCase {
* Implementation of setUp().
*/
function setUp() {
parent::setUp();
// Reset drupal_add_js() before each test.
drupal_add_js(NULL, NULL, TRUE);
}
......
......@@ -118,7 +118,7 @@ class EnableDisableCoreTestCase extends DrupalWebTestCase {
* @return boolean Tables with specified base table.
*/
function assertTableCount($base_table, $count) {
$tables = db_find_tables(Database::getActiveConnection()->prefixTables($base_table) . '%');
$tables = db_find_tables(Database::getActiveConnection()->prefixTables('{' . $base_table . '}') . '%');
if ($count) {
return $this->assertTrue($tables, t('Tables matching "@base_table" found.', array('@base_table' => $base_table)));
......
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