1<?php 2/** 3 * base include file for SimpleTest 4 * @package SimpleTest 5 * @subpackage Extensions 6 * @author Rene vd O (original code) 7 * @author Perrick Penet 8 * @author Marcus Baker 9 * @version $Id$ 10 */ 11 12/** 13 * include other SimpleTest class files 14 */ 15require_once(dirname(__FILE__) . '/scorer.php'); 16 17/** 18 * A single test result. 19 * @package SimpleTest 20 * @subpackage Extensions 21 */ 22abstract class SimpleResult { 23 public $time; 24 public $breadcrumb; 25 public $message; 26 27 /** 28 * Records the test result as public members. 29 * @param array $breadcrumb Test stack at the time of the event. 30 * @param string $message The messsage to the human. 31 */ 32 function __construct($breadcrumb, $message) { 33 list($this->time, $this->breadcrumb, $this->message) = 34 array(time(), $breadcrumb, $message); 35 } 36} 37 38/** 39 * A single pass captured for later. 40 * @package SimpleTest 41 * @subpackage Extensions 42 */ 43class SimpleResultOfPass extends SimpleResult { } 44 45/** 46 * A single failure captured for later. 47 * @package SimpleTest 48 * @subpackage Extensions 49 */ 50class SimpleResultOfFail extends SimpleResult { } 51 52/** 53 * A single exception captured for later. 54 * @package SimpleTest 55 * @subpackage Extensions 56 */ 57class SimpleResultOfException extends SimpleResult { } 58 59/** 60 * Array-based test recorder. Returns an array 61 * with timestamp, status, test name and message for each pass and failure. 62 * @package SimpleTest 63 * @subpackage Extensions 64 */ 65class Recorder extends SimpleReporterDecorator { 66 public $results = array(); 67 68 /** 69 * Stashes the pass as a SimpleResultOfPass 70 * for later retrieval. 71 * @param string $message Pass message to be displayed 72 * eventually. 73 */ 74 function paintPass($message) { 75 parent::paintPass($message); 76 $this->results[] = new SimpleResultOfPass(parent::getTestList(), $message); 77 } 78 79 /** 80 * Stashes the fail as a SimpleResultOfFail 81 * for later retrieval. 82 * @param string $message Failure message to be displayed 83 * eventually. 84 */ 85 function paintFail($message) { 86 parent::paintFail($message); 87 $this->results[] = new SimpleResultOfFail(parent::getTestList(), $message); 88 } 89 90 /** 91 * Stashes the exception as a SimpleResultOfException 92 * for later retrieval. 93 * @param string $message Exception message to be displayed 94 * eventually. 95 */ 96 function paintException($message) { 97 parent::paintException($message); 98 $this->results[] = new SimpleResultOfException(parent::getTestList(), $message); 99 } 100} 101?> 102