summaryrefslogtreecommitdiff
path: root/tests/test_tools/simpletest/errors.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_tools/simpletest/errors.php')
-rw-r--r--tests/test_tools/simpletest/errors.php181
1 files changed, 0 insertions, 181 deletions
diff --git a/tests/test_tools/simpletest/errors.php b/tests/test_tools/simpletest/errors.php
deleted file mode 100644
index c10d68a5..00000000
--- a/tests/test_tools/simpletest/errors.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
- /**
- * base include file for SimpleTest
- * @package SimpleTest
- * @subpackage UnitTester
- * @version $Id: errors.php 1606 2007-01-09 10:42:06Z wei $
- */
-
- /** @ignore - PHP5 compatibility fix. */
- if (! defined('E_STRICT')) {
- define('E_STRICT', 2048);
- }
-
- /**#@+
- * Includes SimpleTest files.
- */
- require_once(dirname(__FILE__) . '/invoker.php');
-
- /**
- * Extension that traps errors into an error queue.
- * @package SimpleTest
- * @subpackage UnitTester
- */
- class SimpleErrorTrappingInvoker extends SimpleInvokerDecorator {
-
- /**
- * Stores the invoker to wrap.
- * @param SimpleInvoker $invoker Test method runner.
- */
- function SimpleErrorTrappingInvoker($invoker) {
- $this->SimpleInvokerDecorator($invoker);
- }
-
- /**
- * Invokes a test method and dispatches any
- * untrapped errors. Called back from
- * the visiting runner.
- * @param string $method Test method to call.
- * @access public
- */
- function invoke($method) {
- set_error_handler('simpleTestErrorHandler');
- parent::invoke($method);
- $queue = SimpleErrorQueue::instance();
- while (list($severity, $message, $file, $line, $globals) = $queue->extract()) {
- $severity = SimpleErrorQueue::getSeverityAsString($severity);
- $test_case = $this->getTestCase();
- $test_case->error($severity, $message, $file, $line);
- }
- restore_error_handler();
- }
- }
-
- /**
- * Singleton error queue used to record trapped
- * errors.
- * @package SimpleTest
- * @subpackage UnitTester
- */
- class SimpleErrorQueue {
- protected $_queue;
-
- /**
- * Starts with an empty queue.
- * @access public
- */
- function SimpleErrorQueue() {
- $this->clear();
- }
-
- /**
- * Adds an error to the front of the queue.
- * @param $severity PHP error code.
- * @param $message Text of error.
- * @param $filename File error occoured in.
- * @param $line Line number of error.
- * @param $super_globals Hash of PHP super global arrays.
- * @access public
- */
- function add($severity, $message, $filename, $line, $super_globals) {
- array_push(
- $this->_queue,
- array($severity, $message, $filename, $line, $super_globals));
- }
-
- /**
- * Pulls the earliest error from the queue.
- * @return False if none, or a list of error
- * information. Elements are: severity
- * as the PHP error code, the error message,
- * the file with the error, the line number
- * and a list of PHP super global arrays.
- * @access public
- */
- function extract() {
- if (count($this->_queue)) {
- return array_shift($this->_queue);
- }
- return false;
- }
-
- /**
- * Discards the contents of the error queue.
- * @access public
- */
- function clear() {
- $this->_queue = array();
- }
-
- /**
- * Tests to see if the queue is empty.
- * @return True if empty.
- */
- function isEmpty() {
- return (count($this->_queue) == 0);
- }
-
- /**
- * Global access to a single error queue.
- * @return Global error queue object.
- * @access public
- * @static
- */
- static function instance() {
- static $queue = false;
- if (! $queue) {
- $queue = new SimpleErrorQueue();
- }
- return $queue;
- }
-
- /**
- * Converst an error code into it's string
- * representation.
- * @param $severity PHP integer error code.
- * @return String version of error code.
- * @access public
- * @static
- */
- static function getSeverityAsString($severity) {
- static $map = array(
- E_STRICT => 'E_STRICT',
- E_ERROR => 'E_ERROR',
- E_WARNING => 'E_WARNING',
- E_PARSE => 'E_PARSE',
- E_NOTICE => 'E_NOTICE',
- E_CORE_ERROR => 'E_CORE_ERROR',
- E_CORE_WARNING => 'E_CORE_WARNING',
- E_COMPILE_ERROR => 'E_COMPILE_ERROR',
- E_COMPILE_WARNING => 'E_COMPILE_WARNING',
- E_USER_ERROR => 'E_USER_ERROR',
- E_USER_WARNING => 'E_USER_WARNING',
- E_USER_NOTICE => 'E_USER_NOTICE', 4096 => 'E??');
- return $map[$severity];
- }
- }
-
- /**
- * Error handler that simply stashes any errors into the global
- * error queue. Simulates the existing behaviour with respect to
- * logging errors, but this feature may be removed in future.
- * @param $severity PHP error code.
- * @param $message Text of error.
- * @param $filename File error occoured in.
- * @param $line Line number of error.
- * @param $super_globals Hash of PHP super global arrays.
- * @static
- * @access public
- */
- function simpleTestErrorHandler($severity, $message, $filename, $line, $super_globals) {
- if ($severity = $severity & error_reporting()) {
- restore_error_handler();
- if (ini_get('log_errors')) {
- $label = SimpleErrorQueue::getSeverityAsString($severity);
- error_log("$label: $message in $filename on line $line");
- }
- $queue = SimpleErrorQueue::instance();
- $queue->add($severity, $message, $filename, $line, $super_globals);
- set_error_handler('simpleTestErrorHandler');
- }
- } \ No newline at end of file