From a2e8ecbcf7b403cfdfb155834017bf14662233c2 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Tue, 19 Mar 2013 15:09:04 +0100 Subject: [PATCH] test: describe the parser tests recorder How to best describe the myriad of parser tests recorder we have? PHP come with interfaces which let us express what a developer should expect from all those common classes. The ITestRecorder interface represent our parser test recorders. Change-Id: I58e10e7ebcb7ae1c4598a4f7e3bd4f11a7f713c4 --- tests/testHelpers.inc | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/testHelpers.inc b/tests/testHelpers.inc index 02fcf24ce4..4c778f6ebc 100644 --- a/tests/testHelpers.inc +++ b/tests/testHelpers.inc @@ -21,7 +21,36 @@ * @ingroup Testing */ -class TestRecorder { +/** + * Interface to record parser test results. + * + * The ITestRecorder is a very simple interface to record the result of + * MediaWiki parser tests. One should call start() before running the + * full parser tests and end() once all the tests have been finished. + * After each test, you should use record() to keep track of your tests + * results. Finally, report() is used to generate a summary of your + * test run, one could dump it to the console for human consumption or + * register the result in a database for tracking purposes. + * + * @since 1.22 + */ +interface ITestRecorder { + + /** Called at beginning of the parser test run */ + public function start(); + + /** Called after each test */ + public function record( $test, $result ); + + /** Called before finishing the test run */ + public function report(); + + /** Called at the end of the parser test run */ + public function end(); + +} + +class TestRecorder implements ITestRecorder { var $parent; var $term; -- 2.20.1