'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('utf-8'); break; } } return $Reporter; } function DW_TESTS_PaintRunMore() { switch ( DW_TESTS_OUTPUT ) { case DW_TESTS_OUTPUT_XML: break; case DW_TESTS_OUTPUT_HTML: default: echo "

Run more tests

"; 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 = << Dokuwiki: Unit Test Suite 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 "

Dokuwiki: Unit Test Suite

\n"; echo "

Test groups"; echo " || Test cases

"; 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_PaintPluginTestCaseList() { switch ( DW_TESTS_OUTPUT ) { case DW_TESTS_OUTPUT_XML: echo XMLTestManager::getPluginTestCaseList(TEST_PLUGINS); break; case DW_TESTS_OUTPUT_HTML: default: echo HTMLTestManager::getPluginTestCaseList(TEST_PLUGINS); break; } } function DW_TESTS_PaintPluginGroupTestList() { switch ( DW_TESTS_OUTPUT ) { case DW_TESTS_OUTPUT_XML: echo XMLTestManager::getPluginGroupTestList(TEST_PLUGINS); break; case DW_TESTS_OUTPUT_HTML: default: echo HTMLTestManager::getPluginGroupTestList(TEST_PLUGINS); break; } } function DW_TESTS_PaintFooter() { switch ( DW_TESTS_OUTPUT ) { case DW_TESTS_OUTPUT_XML: break; case DW_TESTS_OUTPUT_HTML: default: $footer = << 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 plugin group test if (isset($_GET['plugin_group'])) { if ('all' == $_GET['plugin_group']) { TestManager::runAllPluginTests(DW_TESTS_GetReporter()); } else { TestManager::runGroupTest(ucfirst($_GET['plugin_group']), TEST_PLUGINS, 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(); } // If it's a single plugin test case if (isset($_GET['plugin_case'])) { TestManager::runTestCase($_GET['plugin_case'], TEST_PLUGINS, 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(); DW_TESTS_PaintPluginTestCaseList(); } else { /* no group specified, so list them all */ DW_TESTS_PaintGroupTestList(); DW_TESTS_PaintPluginGroupTestList(); } DW_TESTS_PaintFooter();