reporter.php

来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 432 行 · 第 1/2 页

PHP
432
字号
        }        /**         *    Paints the end of the test with a summary of         *    the passes and failures.         *    @param string $test_name        Name class of test.         *    @access public         */        function paintFooter($test_name) {            if ($this->getFailCount() + $this->getExceptionCount() == 0) {                print "OK\n";            } else {                print "FAILURES!!!\n";            }            print "Test cases run: " . $this->getTestCaseProgress() .                    "/" . $this->getTestCaseCount() .                    ", Passes: " . $this->getPassCount() .                    ", Failures: " . $this->getFailCount() .                    ", Exceptions: " . $this->getExceptionCount() . "\n";        }        /**         *    Paints the test failure as a stack trace.         *    @param string $message    Failure message displayed in         *                              the context of the other tests.         *    @access public         */        function paintFail($message) {            parent::paintFail($message);            print $this->getFailCount() . ") $message\n";            $breadcrumb = $this->getTestList();            array_shift($breadcrumb);            print "\tin " . implode("\n\tin ", array_reverse($breadcrumb));            print "\n";        }        /**         *    Paints a PHP error or exception.         *    @param string $message        Message to be shown.         *    @access public         *    @abstract         */        function paintError($message) {            parent::paintError($message);            print "Exception " . $this->getExceptionCount() . "!\n$message\n";            $breadcrumb = $this->getTestList();            array_shift($breadcrumb);            print "\tin " . implode("\n\tin ", array_reverse($breadcrumb));            print "\n";        }        /**         *    Paints a PHP error or exception.         *    @param Exception $exception      Exception to describe.         *    @access public         *    @abstract         */        function paintException($exception) {            parent::paintException($exception);            $message = 'Unexpected exception of type [' . get_class($exception) .                    '] with message ['. $exception->getMessage() .                    '] in ['. $exception->getFile() .                    ' line ' . $exception->getLine() . ']';            print "Exception " . $this->getExceptionCount() . "!\n$message\n";            $breadcrumb = $this->getTestList();            array_shift($breadcrumb);            print "\tin " . implode("\n\tin ", array_reverse($breadcrumb));            print "\n";        }				/**		 *    Prints the message for skipping tests.         *    @param string $message    Text of skip condition.         *    @access public         */		function paintSkip($message) {            parent::paintSkip($message);            print "Skip: $message\n";		}        /**         *    Paints formatted text such as dumped variables.         *    @param string $message        Text to show.         *    @access public         */        function paintFormattedMessage($message) {            print "$message\n";            flush();        }    }    /**     *    Runs just a single test group, a single case or     *    even a single test within that case.	 *	  @package SimpleTest	 *	  @subpackage UnitTester     */    class SelectiveReporter extends SimpleReporterDecorator {        var $_just_this_case = false;        var $_just_this_test = false;        var $_on;                /**         *    Selects the test case or group to be run,         *    and optionally a specific test.         *    @param SimpleScorer $reporter    Reporter to receive events.         *    @param string $just_this_case    Only this case or group will run.         *    @param string $just_this_test    Only this test method will run.         */        function SelectiveReporter(&$reporter, $just_this_case = false, $just_this_test = false) {            if (isset($just_this_case) && $just_this_case) {                $this->_just_this_case = strtolower($just_this_case);                $this->_off();            } else {                $this->_on();            }            if (isset($just_this_test) && $just_this_test) {                $this->_just_this_test = strtolower($just_this_test);            }            $this->SimpleReporterDecorator($reporter);        }        /**         *    Compares criteria to actual the case/group name.         *    @param string $test_case    The incoming test.         *    @return boolean             True if matched.         *    @access protected         */        function _matchesTestCase($test_case) {            return $this->_just_this_case == strtolower($test_case);        }        /**         *    Compares criteria to actual the test name. If no         *    name was specified at the beginning, then all tests         *    can run.         *    @param string $method       The incoming test method.         *    @return boolean             True if matched.         *    @access protected         */        function _shouldRunTest($test_case, $method) {            if ($this->_isOn() || $this->_matchesTestCase($test_case)) {                if ($this->_just_this_test) {                    return $this->_just_this_test == strtolower($method);                } else {                    return true;                }            }            return false;        }                /**         *    Switch on testing for the group or subgroup.         *    @access private         */        function _on() {            $this->_on = true;        }                /**         *    Switch off testing for the group or subgroup.         *    @access private         */        function _off() {            $this->_on = false;        }                /**         *    Is this group actually being tested?         *    @return boolean     True if the current test group is active.         *    @access private         */        function _isOn() {            return $this->_on;        }        /**         *    Veto everything that doesn't match the method wanted.         *    @param string $test_case       Name of test case.         *    @param string $method          Name of test method.         *    @return boolean                True if test should be run.         *    @access public         */        function shouldInvoke($test_case, $method) {            if ($this->_shouldRunTest($test_case, $method)) {                return $this->_reporter->shouldInvoke($test_case, $method);            }            return false;        }        /**         *    Paints the start of a group test.         *    @param string $test_case     Name of test or other label.         *    @param integer $size         Number of test cases starting.         *    @access public         */        function paintGroupStart($test_case, $size) {            if ($this->_just_this_case && $this->_matchesTestCase($test_case)) {                $this->_on();            }            $this->_reporter->paintGroupStart($test_case, $size);        }        /**         *    Paints the end of a group test.         *    @param string $test_case     Name of test or other label.         *    @access public         */        function paintGroupEnd($test_case) {            $this->_reporter->paintGroupEnd($test_case);            if ($this->_just_this_case && $this->_matchesTestCase($test_case)) {                $this->_off();            }        }    }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?