'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"); }