diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/testing.php | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/engine/lib/testing.php b/engine/lib/testing.php new file mode 100644 index 000000000..5f24939e8 --- /dev/null +++ b/engine/lib/testing.php @@ -0,0 +1,78 @@ +<?php + /** + * Elgg testing framework. + * + * This library contains an Elgg unit test framework which can be used and extended by plugins to provide + * functional unit tests to aid diagnostics of problems. + * + * @package Elgg + * @subpackage Core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Curverider Ltd <info@elgg.com> + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + */ + + /** + * Elgg test result object. + * This class is used to return the values of the test in order to generate a report. + */ + class ElggTestResult { + + /** + * Textual description of the test being performed (used for reporting). + * + * @var string + */ + private $details; + + /** + * Boolean, true if the test was executed successfully - false if not. + * + * @var bool + */ + private $successful; + + /** + * Any debug information for the report. + * + * @var string + */ + private $debug; + + /** + * Create a test result object. + * + */ + function __construct($success, $details = "", $debug = "") + { + $success = (bool)$success; + + $this->successful = $success; + $this->details = $details; + $this->debug = $debug; + } + + /** + * Factory function to generate a successful result. + * + */ + static public function CreateSuccessResult($details) { return new ElggTestResult(true, $details); } + + /** + * Factory function to generate a successful result. + * + */ + static public function CreateFailResult($details, $debug = "") { return new ElggTestResult(false, $details, $debug); } + } + + function testing_execute_tests() + { + $report = array(); // An array to be populated with ElggTestResult objects + + $report = trigger_plugin_hook('test', 'test', null, $report); + + return $report; + } + +?>
\ No newline at end of file |