📄 run.php
字号:
<?php // require gacl & phpunit require_once(dirname(__FILE__).'/../admin/gacl_admin.inc.php'); require_once(dirname(__FILE__).'/phpunit/phpunit.php'); /*! class custom test result class for pretty results !*/ class gacl_test_result extends TestResult { var $output = ''; var $class_name; function report() { /* results table */ echo '<h2>Test Results</h2>' . "\n"; echo '<table cellspacing="1" cellpadding="1" border="1" class="details">'."\n"; echo '<tr><th>Function</th><th width="10%">Success?</th></tr>'."\n"; echo $this->output; echo '</table>'."\n"; /* summary */ $nRun = $this->countTests(); $nFailures = $this->countFailures(); echo '<h2>Summary</h2>'."\n"; printf('<div class="indent"><p>%s test%s run<br />', $nRun, ($nRun == 1) ? '' : 's'); printf("%s failure%s.</p></div>\n", $nFailures, ($nFailures == 1) ? '' : 's'); } function _startTest($test) { } function _endTest($test) { if ( $test->classname() != $this->class_name ) { $this->class_name = $test->classname(); $this->output .= '<tr><td colspan="2" class="class_name">'. $test->classname() .'</td></tr>'."\n"; } $this->output .= '<tr><td class="function">'. $test->name(); if ($test->failed()) { $this->output .= "<ul>\n"; foreach ($test->getExceptions() as $exception) { $this->output .= '<li>'. $exception->getMessage() ."</li>\n"; } $this->output .= "</ul>\n"; $outcome = ' class="fail">FAIL'; } else { $outcome = ' class="pass">OK'; } $this->output .= '</td><td'. $outcome .'</td></tr>'."\n"; } } /*! class custom TestCase class to allow control of error formatting can also be used for custom assert functions !*/ class gacl_test_case extends TestCase { var $gacl_api; function gacl_test_case($name) { $this->TestCase($name); $this->gacl_api = &$GLOBALS['gacl_api']; } function setUp() { } function tearDown() { } function _formatValue($value, $class='') { if (phpversion() < '4.0.0') { return '<code class="'. $class .'">'. htmlentities((string)$value) .'</code>'; } switch (TRUE) { case is_object($value): if (method_exists($value, 'toString')) { $translateValue = $value->toString(); } else { $translateValue = serialize($value); } $htmlValue = htmlentities($translateValue); break; case is_array($value): ob_start(); print_r($value); $translateValue = ob_get_contents(); ob_end_clean(); $htmlValue = nl2br(str_replace(' ', ' ', htmlentities(rtrim($translateValue)))); break; case is_bool($value): $htmlValue = $value ? '<i>true</i>' : '<i>false</i>'; break; case phpversion() >= '4.0.4' && is_null($value): $htmlValue = '<i>null</i>'; break; default: $htmlValue = htmlentities(strval($value)); } $htmlValue = '<code class="'. $class . '">' . $htmlValue . '</code>'; $htmlValue .= ' <span class="typeinfo">'; $htmlValue .= 'type:' . gettype($value); if (is_object($value)) { $htmlValue .= ', class:' . get_class($value); } $htmlValue .= '</span>'; return $htmlValue; } } /*! class custom TestSuite class for future expansion !*/ class gacl_test_suite extends TestSuite { } $title = 'phpGACL Test Suite';?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title><?php echo $title; ?></title> <link rel="stylesheet" href="styles.css" type="text/css" title="GACL Test Suite Styles"/> </head> <body> <h1><?php echo $title; ?></h1> <h2>Running Tests</h2> <div class="indent"><?php // initialise result $result = new gacl_test_result; // run api tests include('unit_tests.php'); // run acl tests include('acl_tests.php'); echo ' </div> '; // show report $result->report();?> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -