updated core to 7.73
This commit is contained in:
@@ -78,6 +78,13 @@ function system_test_menu() {
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/drupal-set-message'] = array(
|
||||
'title' => 'Set messages with drupal_set_message()',
|
||||
'page callback' => 'system_test_drupal_set_message',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/main-content-handling'] = array(
|
||||
'title' => 'Test main content handling',
|
||||
'page callback' => 'system_test_main_content_fallback',
|
||||
@@ -106,6 +113,34 @@ function system_test_menu() {
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/get-destination'] = array(
|
||||
'title' => 'Test $_GET[\'destination\']',
|
||||
'page callback' => 'system_test_get_destination',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/request-destination'] = array(
|
||||
'title' => 'Test $_REQUEST[\'destination\']',
|
||||
'page callback' => 'system_test_request_destination',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/drupal-get-filename'] = array(
|
||||
'title' => 'Test drupal_get_filename()',
|
||||
'page callback' => 'system_test_drupal_get_filename',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
$items['system-test/drupal-get-filename-with-schema-rebuild'] = array(
|
||||
'title' => 'Test drupal_get_filename() with a schema rebuild',
|
||||
'page callback' => 'system_test_drupal_get_filename_with_schema_rebuild',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
@@ -114,8 +149,23 @@ function system_test_sleep($seconds) {
|
||||
}
|
||||
|
||||
function system_test_basic_auth_page() {
|
||||
$output = t('$_SERVER[\'PHP_AUTH_USER\'] is @username.', array('@username' => $_SERVER['PHP_AUTH_USER']));
|
||||
$output .= t('$_SERVER[\'PHP_AUTH_PW\'] is @password.', array('@password' => $_SERVER['PHP_AUTH_PW']));
|
||||
// The Authorization HTTP header is forwarded via Drupal's .htaccess file even
|
||||
// for PHP CGI SAPIs.
|
||||
if (isset($_SERVER['HTTP_AUTHORIZATION'])) {
|
||||
$authorization_header = $_SERVER['HTTP_AUTHORIZATION'];
|
||||
}
|
||||
// If using CGI on Apache with mod_rewrite, the forwarded HTTP header appears
|
||||
// in the redirected HTTP headers. See
|
||||
// https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/ServerBag.php#L61
|
||||
elseif (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
|
||||
$authorization_header = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
|
||||
}
|
||||
// Resemble PHP_AUTH_USER and PHP_AUTH_PW for a Basic authentication from
|
||||
// the HTTP_AUTHORIZATION header. See
|
||||
// http://www.php.net/manual/features.http-auth.php
|
||||
list($user, $pw) = explode(':', base64_decode(substr($authorization_header, 6)));
|
||||
$output = t('Username is @username.', array('@username' => $user));
|
||||
$output .= t('Password is @password.', array('@password' => $pw));
|
||||
return $output;
|
||||
}
|
||||
|
||||
@@ -260,6 +310,9 @@ function system_test_system_info_alter(&$info, $file, $type) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($file->name == 'system_project_namespace_test') {
|
||||
$info['hidden'] = FALSE;
|
||||
}
|
||||
// Make the system_dependencies_test visible by default.
|
||||
if ($file->name == 'system_dependencies_test') {
|
||||
$info['hidden'] = FALSE;
|
||||
@@ -405,3 +458,114 @@ function system_test_authorize_init_page($page_title) {
|
||||
system_authorized_init('system_test_authorize_run', drupal_get_path('module', 'system_test') . '/system_test.module', array(), $page_title);
|
||||
drupal_goto($authorize_url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets two messages and removes the first one before the messages are displayed.
|
||||
*/
|
||||
function system_test_drupal_set_message() {
|
||||
// Set two messages.
|
||||
drupal_set_message('First message (removed).');
|
||||
drupal_set_message('Second message (not removed).');
|
||||
|
||||
// Remove the first.
|
||||
unset($_SESSION['messages']['status'][0]);
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Page callback to print out $_GET['destination'] for testing.
|
||||
*/
|
||||
function system_test_get_destination() {
|
||||
if (isset($_GET['destination'])) {
|
||||
print $_GET['destination'];
|
||||
}
|
||||
// No need to render the whole page, we are just interested in this bit of
|
||||
// information.
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Page callback to print out $_REQUEST['destination'] for testing.
|
||||
*/
|
||||
function system_test_request_destination() {
|
||||
if (isset($_REQUEST['destination'])) {
|
||||
print $_REQUEST['destination'];
|
||||
}
|
||||
// No need to render the whole page, we are just interested in this bit of
|
||||
// information.
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Page callback to run drupal_get_filename() on a particular module.
|
||||
*/
|
||||
function system_test_drupal_get_filename() {
|
||||
// Prevent SimpleTest from failing as a result of the expected PHP warnings
|
||||
// this function causes. Any warnings will be recorded in the database logs
|
||||
// for examination by the tests.
|
||||
define('SIMPLETEST_COLLECT_ERRORS', FALSE);
|
||||
|
||||
$module_name = variable_get('system_test_drupal_get_filename_test_module_name');
|
||||
drupal_get_filename('module', $module_name);
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Page callback to run drupal_get_filename() and do a schema rebuild.
|
||||
*/
|
||||
function system_test_drupal_get_filename_with_schema_rebuild() {
|
||||
// Prevent SimpleTest from failing as a result of the expected PHP warnings
|
||||
// this function causes.
|
||||
define('SIMPLETEST_COLLECT_ERRORS', FALSE);
|
||||
|
||||
// Record the original database tables from drupal_get_schema().
|
||||
variable_set('system_test_drupal_get_filename_with_schema_rebuild_original_tables', array_keys(drupal_get_schema(NULL, TRUE)));
|
||||
|
||||
// Trigger system_test_schema() and system_test_watchdog() to perform an
|
||||
// attempted recursive rebuild when drupal_get_schema() is called. See
|
||||
// BootstrapGetFilenameWebTestCase::testRecursiveRebuilds().
|
||||
variable_set('system_test_drupal_get_filename_attempt_recursive_rebuild', TRUE);
|
||||
drupal_get_schema(NULL, TRUE);
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_watchdog().
|
||||
*/
|
||||
function system_test_watchdog($log_entry) {
|
||||
// If an attempted recursive schema rebuild has been triggered by
|
||||
// system_test_drupal_get_filename_with_schema_rebuild(), perform the rebuild
|
||||
// in response to the missing file message triggered by system_test_schema().
|
||||
if (!variable_get('system_test_drupal_get_filename_attempt_recursive_rebuild')) {
|
||||
return;
|
||||
}
|
||||
if ($log_entry['type'] != 'php' || $log_entry['severity'] != WATCHDOG_WARNING) {
|
||||
return;
|
||||
}
|
||||
$module_name = variable_get('system_test_drupal_get_filename_test_module_name');
|
||||
if (!isset($log_entry['variables']['!message']) || strpos($log_entry['variables']['!message'], format_string('The following module is missing from the file system: %name', array('%name' => $module_name))) === FALSE) {
|
||||
return;
|
||||
}
|
||||
variable_set('system_test_drupal_get_filename_with_schema_rebuild_final_tables', array_keys(drupal_get_schema()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_module_implements_alter().
|
||||
*/
|
||||
function system_test_module_implements_alter(&$implementations, $hook) {
|
||||
// For BootstrapGetFilenameWebTestCase::testRecursiveRebuilds() to work
|
||||
// correctly, this module's hook_schema() implementation cannot be either the
|
||||
// first implementation (since that would trigger a potential recursive
|
||||
// rebuild before anything is in the drupal_get_schema() cache) or the last
|
||||
// implementation (since that would trigger a potential recursive rebuild
|
||||
// after the cache is already complete). So put it somewhere in the middle.
|
||||
if ($hook == 'schema') {
|
||||
$group = $implementations['system_test'];
|
||||
unset($implementations['system_test']);
|
||||
$count = count($implementations);
|
||||
$implementations = array_merge(array_slice($implementations, 0, $count / 2, TRUE), array('system_test' => $group), array_slice($implementations, $count / 2, NULL, TRUE));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user