diff options
Diffstat (limited to 'modules/simpletest/tests/system_test.module')
-rw-r--r-- | modules/simpletest/tests/system_test.module | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/modules/simpletest/tests/system_test.module b/modules/simpletest/tests/system_test.module new file mode 100644 index 000000000..60b193152 --- /dev/null +++ b/modules/simpletest/tests/system_test.module @@ -0,0 +1,78 @@ +<?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, + ); + + 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(); +} |