X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=tests%2FtestHelpers.inc;h=88e5885b4561b1729b4c8a9d040ca090f62bbc91;hb=1dc9d1a6195a00d8d2ba74e4d8d45320439b9de6;hp=1e51d80939dd1707ccb7fd7e07e183b99ff6df81;hpb=a37fc7349849de11c68167236d8ad05bb9275bc3;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/testHelpers.inc b/tests/testHelpers.inc index 1e51d80939..88e5885b45 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; @@ -450,6 +479,7 @@ class TestFileIterator implements Iterator { } if ( ( ( preg_match( '/\\bdisabled\\b/i', $this->sectionData['options'] ) && !$this->parserTest->runDisabled ) + || ( preg_match( '/\\bparsoid\\b/i', $this->sectionData['options'] ) && !$this->parserTest->runParsoid ) || !preg_match( "/" . $this->parserTest->regex . "/i", $this->sectionData['test'] ) ) ) { # disabled test @@ -480,7 +510,7 @@ class TestFileIterator implements Iterator { return true; } - if ( isset ( $this->sectionData[$this->section] ) ) { + if ( isset( $this->sectionData[$this->section] ) ) { throw new MWException( "duplicate section '$this->section' at line {$this->lineNum} of $this->file\n" ); }