207 lines
5.6 KiB
Plaintext
207 lines
5.6 KiB
Plaintext
<?php
|
|
// $Id$
|
|
|
|
/**
|
|
* Implementation of hook_menu().
|
|
*/
|
|
function system_test_menu() {
|
|
$items['system-test/auth'] = array(
|
|
'page callback' => 'system_test_basic_auth_page',
|
|
'access callback' => TRUE,
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
$items['system-test/redirect/%'] = array(
|
|
'title' => 'Redirect',
|
|
'page callback' => 'system_test_redirect',
|
|
'page arguments' => array(2),
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
$items['system-test/redirect-noscheme'] = array(
|
|
'page callback' => 'system_test_redirect_noscheme',
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
$items['system-test/redirect-noparse'] = array(
|
|
'page callback' => 'system_test_redirect_noparse',
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
$items['system-test/redirect-invalid-scheme'] = array(
|
|
'page callback' => 'system_test_redirect_invalid_scheme',
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
$items['system-test/destination'] = array(
|
|
'title' => 'Redirect',
|
|
'page callback' => 'system_test_destination',
|
|
'page arguments' => array(2),
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
$items['system-test/variable-get'] = array(
|
|
'title' => 'Variable Get',
|
|
'page callback' => 'variable_get',
|
|
'page arguments' => array('simpletest_bootstrap_variable_test', NULL),
|
|
'access arguments' => array('access content'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
$items['system-test/generate-warnings'] = array(
|
|
'title' => 'Generate warnings',
|
|
'page callback' => 'system_test_generate_warnings',
|
|
'access callback' => TRUE,
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
$items['system-test/generate-warnings-with-report'] = array(
|
|
'title' => 'Generate warnings with Simpletest reporting',
|
|
'page callback' => 'system_test_generate_warnings',
|
|
'page arguments' => array(TRUE),
|
|
'access callback' => TRUE,
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
$items['system-test/trigger-exception'] = array(
|
|
'title' => 'Trigger an exception',
|
|
'page callback' => 'system_test_trigger_exception',
|
|
'access callback' => TRUE,
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
$items['system-test/trigger-pdo-exception'] = array(
|
|
'title' => 'Trigger a PDO exception',
|
|
'page callback' => 'system_test_trigger_pdo_exception',
|
|
'access callback' => TRUE,
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
|
|
return $items;
|
|
}
|
|
|
|
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']));
|
|
return $output;
|
|
}
|
|
|
|
function system_test_redirect($code) {
|
|
$code = (int)$code;
|
|
if ($code != 200) {
|
|
header("Location: " . url('system-test/redirect/200', array('absolute' => TRUE)), TRUE, $code);
|
|
exit;
|
|
}
|
|
return '';
|
|
}
|
|
|
|
function system_test_redirect_noscheme() {
|
|
header("Location: localhost/path", TRUE, 301);
|
|
exit;
|
|
}
|
|
|
|
function system_test_redirect_noparse() {
|
|
header("Location: http:///path", TRUE, 301);
|
|
exit;
|
|
}
|
|
|
|
function system_test_redirect_invalid_scheme() {
|
|
header("Location: ftp://localhost/path", TRUE, 301);
|
|
exit;
|
|
}
|
|
|
|
function system_test_destination() {
|
|
return 'The destination: ' . drupal_get_destination();
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_modules_installed().
|
|
*/
|
|
function system_test_modules_installed($modules) {
|
|
if (in_array('aggregator', $modules)) {
|
|
drupal_set_message(t('hook_modules_installed fired for aggregator'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_modules_enabled().
|
|
*/
|
|
function system_test_modules_enabled($modules) {
|
|
if (in_array('aggregator', $modules)) {
|
|
drupal_set_message(t('hook_modules_enabled fired for aggregator'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_modules_disabled().
|
|
*/
|
|
function system_test_modules_disabled($modules) {
|
|
if (in_array('aggregator', $modules)) {
|
|
drupal_set_message(t('hook_modules_disabled fired for aggregator'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_modules_uninstalled().
|
|
*/
|
|
function system_test_modules_uninstalled($modules) {
|
|
if (in_array('aggregator', $modules)) {
|
|
drupal_set_message(t('hook_modules_uninstalled fired for aggregator'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_boot().
|
|
*/
|
|
function system_test_boot() {
|
|
watchdog('system_test', 'hook_boot');
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_init().
|
|
*/
|
|
function system_test_init() {
|
|
// Used by FrontPageTestCase to get the results of drupal_is_front_page().
|
|
if (variable_get('front_page_output', 0) && drupal_is_front_page()) {
|
|
drupal_set_message(t('On front page.'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implementation of hook_exit().
|
|
*/
|
|
function system_test_exit() {
|
|
watchdog('system_test', 'hook_exit');
|
|
}
|
|
|
|
/**
|
|
* Menu callback; generate warnings to test the error handler.
|
|
*/
|
|
function system_test_generate_warnings($collect_errors = FALSE) {
|
|
// Tell Drupal error reporter to send errors to Simpletest or not.
|
|
define('SIMPLETEST_COLLECT_ERRORS', $collect_errors);
|
|
// This will generate a notice.
|
|
$monkey_love = $bananas;
|
|
// This will generate a warning.
|
|
$awesomely_big = 1/0;
|
|
// This will generate a user error.
|
|
trigger_error("Drupal is awesome", E_USER_NOTICE);
|
|
return "";
|
|
}
|
|
|
|
/**
|
|
* Menu callback; trigger an exception to test the exception handler.
|
|
*/
|
|
function system_test_trigger_exception() {
|
|
define('SIMPLETEST_COLLECT_ERRORS', FALSE);
|
|
throw new Exception("Drupal is awesome");
|
|
}
|
|
|
|
/**
|
|
* Menu callback; trigger an exception to test the exception handler.
|
|
*/
|
|
function system_test_trigger_pdo_exception() {
|
|
define('SIMPLETEST_COLLECT_ERRORS', FALSE);
|
|
db_query("SELECT * FROM bananas_are_awesome");
|
|
}
|