diff options
author | Andreas Gohr <andi@splitbrain.org> | 2005-10-15 13:45:45 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2005-10-15 13:45:45 +0200 |
commit | b73cc7dccaa01778de20ade004e0c3bde2e2e36a (patch) | |
tree | a082fedea2f4a7e99b5cc6352c35e9b192b145ec /_test/index.php | |
parent | 5e35ae2a19fba9e79a1b71d951d7f322b864c001 (diff) | |
download | rpg-b73cc7dccaa01778de20ade004e0c3bde2e2e36a.tar.gz rpg-b73cc7dccaa01778de20ade004e0c3bde2e2e36a.tar.bz2 |
renamed test directory
darcs-hash:20051015114545-7ad00-561552ce7e519d81146b5cb2d28203aee7c6d2ad.gz
Diffstat (limited to '_test/index.php')
-rw-r--r-- | _test/index.php | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/_test/index.php b/_test/index.php new file mode 100644 index 000000000..9b20cee39 --- /dev/null +++ b/_test/index.php @@ -0,0 +1,173 @@ +<?php +if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/'); +define('TEST_ROOT', dirname(__FILE__)); +define('TMPL_FILESCHEME_PATH', TEST_ROOT . '/filescheme/'); +error_reporting(E_ALL); + +set_time_limit(600); +ini_set('memory_limit','128M'); + +/* Used to determine output to display */ +define('DW_TESTS_OUTPUT_HTML',1); +define('DW_TESTS_OUTPUT_XML',2); + +if ( isset($_GET['output']) && $_GET['output'] == 'xml' ) { + define('DW_TESTS_OUTPUT',DW_TESTS_OUTPUT_XML); +} else { + define('DW_TESTS_OUTPUT',DW_TESTS_OUTPUT_HTML); +} + +require_once 'lib/testmanager.php'; +TestManager::setup('tests.ini'); + +if ( !defined('SIMPLE_TEST') ) { + define('SIMPLE_TEST', ConfigManager::getOptionAsPath('tests', 'simpletest', 'library_path')); +} + +if (!@include_once SIMPLE_TEST . 'reporter.php') { + RaiseError('runtime', 'LIBRARY_REQUIRED', array( + 'library' => 'Simple Test', + 'path' => SIMPLE_TEST)); +} + +function & DW_TESTS_GetReporter() { + static $Reporter = NULL; + if ( !$Reporter ) { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + require_once SIMPLE_TEST . 'xml.php'; + $Reporter = new XmlReporter(); + break; + case DW_TESTS_OUTPUT_HTML: + default: + $Reporter = new HTMLReporter(); + break; + } + } + return $Reporter; +} + +function DW_TESTS_PaintRunMore() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo "<p><a href='" . $_SERVER['PHP_SELF'] . "'>Run more tests</a></p>"; + break; + } +} + +function DW_TESTS_PaintHeader() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + header('Content-Type: text/xml; charset="utf-8"'); + break; + case DW_TESTS_OUTPUT_HTML: + $header = <<<EOD +<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' + 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> +<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> + <head> + <meta http-equiv='Content-Type' + content='text/html; charset=iso-8859-1' /> + + <title>Dokuwiki: Unit Test Suite</title> + <link href="tests.css" type="text/css" rel="stylesheet" media="all"/> + + </head> + <body> +EOD; + echo $header; + default: + break; + } +} + +function DW_TESTS_PaintSuiteHeader() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo "<h1>Dokuwiki: Unit Test Suite</h1>\n"; + echo "<p><a href='index.php?show=groups'>Test groups</a>"; + echo " || <a href='index.php?show=cases'>Test cases</a></p>"; + break; + } +} + +function DW_TESTS_PaintCaseList() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + echo XMLTestManager::getTestCaseList(TEST_CASES); + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo HTMLTestManager::getTestCaseList(TEST_CASES); + break; + } +} + +function DW_TESTS_PaintGroupTestList() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + echo XMLTestManager::getGroupTestList(TEST_GROUPS); + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo HTMLTestManager::getGroupTestList(TEST_GROUPS); + break; + } +} + +function DW_TESTS_PaintFooter() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + break; + case DW_TESTS_OUTPUT_HTML: + default: + $footer = <<<EOD + </body> +</html> +EOD; + echo $footer; + break; + } +} + +/** OUTPUT STARTS HERE **/ +
+// If it's a group test
+if (isset($_GET['group'])) {
+ if ('all' == $_GET['group']) {
+ TestManager::runAllTests(DW_TESTS_GetReporter());
+ } else {
+ TestManager::runGroupTest(ucfirst($_GET['group']),
+ TEST_GROUPS,
+ DW_TESTS_GetReporter());
+ }
+ DW_TESTS_PaintRunMore();
+ exit();
+}
+
+// If it's a single test case
+if (isset($_GET['case'])) {
+ TestManager::runTestCase($_GET['case'], TEST_CASES, DW_TESTS_GetReporter());
+ DW_TESTS_PaintRunMore();
+ exit();
+} + +// Else it's the main page +DW_TESTS_PaintHeader(); + +DW_TESTS_PaintSuiteHeader(); + +if (isset($_GET['show']) && $_GET['show'] == 'cases') { + DW_TESTS_PaintCaseList(); +} else { + /* no group specified, so list them all */ + DW_TESTS_PaintGroupTestList(); +} + +DW_TESTS_PaintFooter(); |