Revert r89223. MediaWikiParserTest is needed to run all the $wgParserTestFiles
authorPlatonides <platonides@users.mediawiki.org>
Tue, 31 May 2011 20:30:12 +0000 (20:30 +0000)
committerPlatonides <platonides@users.mediawiki.org>
Tue, 31 May 2011 20:30:12 +0000 (20:30 +0000)
NewParserTest.php standalone running of the first $wgParserTestFiles item is just a convenience.

tests/phpunit/includes/parser/MediaWikiParserTest.php [new file with mode: 0644]

diff --git a/tests/phpunit/includes/parser/MediaWikiParserTest.php b/tests/phpunit/includes/parser/MediaWikiParserTest.php
new file mode 100644 (file)
index 0000000..8d6230d
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+
+require_once( dirname( __FILE__ ) . '/ParserHelpers.php' );
+require_once( dirname( __FILE__ ) . '/NewParserTest.php' );
+require_once( dirname(dirname(dirname( __FILE__ ))) . '/bootstrap.php' );
+
+/**
+ * The UnitTest must be either a class that inherits from PHPUnit_Framework_TestCase 
+ * or a class that provides a public static suite() method which returns 
+ * an PHPUnit_Framework_Test object
+ * 
+ * @group Parser
+ * @group Database
+ */
+class MediaWikiParserTest {
+
+       public static function suite() {
+               global $wgParserTestFiles;
+
+               $suite = new PHPUnit_Framework_TestSuite;
+
+               foreach ( $wgParserTestFiles as $filename ) {
+                       $testsName = basename( $filename, '.txt' );
+                       $className = /*ucfirst( basename( dirname( $filename ) ) ) .*/ ucfirst( basename( $filename, '.txt' ) );
+                       
+                       eval( "/** @group Database\n@group Parser\n*/ class $className extends NewParserTest { protected \$file = \"" . addslashes( $filename ) . "\"; } " );
+
+                       $parserTester = new $className( $testsName );
+                       $suite->addTestSuite( new ReflectionClass ( $parserTester ) );
+               }
+               
+
+               return $suite;
+       }
+}