123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?php
- /**
- * Base include file for SimpleTest
- * @package SimpleTest
- * @subpackage UnitTester
- * @version $Id: invoker.php 1785 2008-04-26 13:56:41Z pp11 $
- */
-
- /**#@+
- * Includes SimpleTest files and defined the root constant
- * for dependent libraries.
- */
- require_once(dirname(__FILE__) . '/errors.php');
- require_once(dirname(__FILE__) . '/compatibility.php');
- require_once(dirname(__FILE__) . '/scorer.php');
- require_once(dirname(__FILE__) . '/expectation.php');
- require_once(dirname(__FILE__) . '/dumper.php');
- if (! defined('SIMPLE_TEST')) {
- define('SIMPLE_TEST', dirname(__FILE__) . '/');
- }
- /**#@-*/
-
- /**
- * This is called by the class runner to run a
- * single test method. Will also run the setUp()
- * and tearDown() methods.
- * @package SimpleTest
- * @subpackage UnitTester
- */
- class SimpleInvoker {
- private $test_case;
-
- /**
- * Stashes the test case for later.
- * @param SimpleTestCase $test_case Test case to run.
- */
- function __construct($test_case) {
- $this->test_case = $test_case;
- }
-
- /**
- * Accessor for test case being run.
- * @return SimpleTestCase Test case.
- * @access public
- */
- function getTestCase() {
- return $this->test_case;
- }
-
- /**
- * Runs test level set up. Used for changing
- * the mechanics of base test cases.
- * @param string $method Test method to call.
- * @access public
- */
- function before($method) {
- $this->test_case->before($method);
- }
-
- /**
- * Invokes a test method and buffered with setUp()
- * and tearDown() calls.
- * @param string $method Test method to call.
- * @access public
- */
- function invoke($method) {
- $this->test_case->setUp();
- $this->test_case->$method();
- $this->test_case->tearDown();
- }
-
- /**
- * Runs test level clean up. Used for changing
- * the mechanics of base test cases.
- * @param string $method Test method to call.
- * @access public
- */
- function after($method) {
- $this->test_case->after($method);
- }
- }
-
- /**
- * Do nothing decorator. Just passes the invocation
- * straight through.
- * @package SimpleTest
- * @subpackage UnitTester
- */
- class SimpleInvokerDecorator {
- private $invoker;
-
- /**
- * Stores the invoker to wrap.
- * @param SimpleInvoker $invoker Test method runner.
- */
- function __construct($invoker) {
- $this->invoker = $invoker;
- }
-
- /**
- * Accessor for test case being run.
- * @return SimpleTestCase Test case.
- * @access public
- */
- function getTestCase() {
- return $this->invoker->getTestCase();
- }
-
- /**
- * Runs test level set up. Used for changing
- * the mechanics of base test cases.
- * @param string $method Test method to call.
- * @access public
- */
- function before($method) {
- $this->invoker->before($method);
- }
-
- /**
- * Invokes a test method and buffered with setUp()
- * and tearDown() calls.
- * @param string $method Test method to call.
- * @access public
- */
- function invoke($method) {
- $this->invoker->invoke($method);
- }
-
- /**
- * Runs test level clean up. Used for changing
- * the mechanics of base test cases.
- * @param string $method Test method to call.
- * @access public
- */
- function after($method) {
- $this->invoker->after($method);
- }
- }
- ?>
|