summaryrefslogtreecommitdiffstats
path: root/3rdparty/simpletest/recorder.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/simpletest/recorder.php')
-rw-r--r--3rdparty/simpletest/recorder.php101
1 files changed, 101 insertions, 0 deletions
diff --git a/3rdparty/simpletest/recorder.php b/3rdparty/simpletest/recorder.php
new file mode 100644
index 00000000000..b3d0d01c625
--- /dev/null
+++ b/3rdparty/simpletest/recorder.php
@@ -0,0 +1,101 @@
+<?php
+/**
+ * base include file for SimpleTest
+ * @package SimpleTest
+ * @subpackage Extensions
+ * @author Rene vd O (original code)
+ * @author Perrick Penet
+ * @author Marcus Baker
+ * @version $Id: recorder.php 2011 2011-04-29 08:22:48Z pp11 $
+ */
+
+/**
+ * include other SimpleTest class files
+ */
+require_once(dirname(__FILE__) . '/scorer.php');
+
+/**
+ * A single test result.
+ * @package SimpleTest
+ * @subpackage Extensions
+ */
+abstract class SimpleResult {
+ public $time;
+ public $breadcrumb;
+ public $message;
+
+ /**
+ * Records the test result as public members.
+ * @param array $breadcrumb Test stack at the time of the event.
+ * @param string $message The messsage to the human.
+ */
+ function __construct($breadcrumb, $message) {
+ list($this->time, $this->breadcrumb, $this->message) =
+ array(time(), $breadcrumb, $message);
+ }
+}
+
+/**
+ * A single pass captured for later.
+ * @package SimpleTest
+ * @subpackage Extensions
+ */
+class SimpleResultOfPass extends SimpleResult { }
+
+/**
+ * A single failure captured for later.
+ * @package SimpleTest
+ * @subpackage Extensions
+ */
+class SimpleResultOfFail extends SimpleResult { }
+
+/**
+ * A single exception captured for later.
+ * @package SimpleTest
+ * @subpackage Extensions
+ */
+class SimpleResultOfException extends SimpleResult { }
+
+/**
+ * Array-based test recorder. Returns an array
+ * with timestamp, status, test name and message for each pass and failure.
+ * @package SimpleTest
+ * @subpackage Extensions
+ */
+class Recorder extends SimpleReporterDecorator {
+ public $results = array();
+
+ /**
+ * Stashes the pass as a SimpleResultOfPass
+ * for later retrieval.
+ * @param string $message Pass message to be displayed
+ * eventually.
+ */
+ function paintPass($message) {
+ parent::paintPass($message);
+ $this->results[] = new SimpleResultOfPass(parent::getTestList(), $message);
+ }
+
+ /**
+ * Stashes the fail as a SimpleResultOfFail
+ * for later retrieval.
+ * @param string $message Failure message to be displayed
+ * eventually.
+ */
+ function paintFail($message) {
+ parent::paintFail($message);
+ $this->results[] = new SimpleResultOfFail(parent::getTestList(), $message);
+ }
+
+ /**
+ * Stashes the exception as a SimpleResultOfException
+ * for later retrieval.
+ * @param string $message Exception message to be displayed
+ * eventually.
+ */
+ function paintException($message) {
+ parent::paintException($message);
+ $this->results[] = new SimpleResultOfException(parent::getTestList(), $message);
+ }
+}
+?> \ No newline at end of file