Merge "Follow-up I0b781c11 (2a55449): use User::getAutomaticGroups()."
[lhc/web/wiklou.git] / tests / phpunit / includes / parser / MediaWikiParserTest.php
1 <?php
2 require_once( __DIR__ . '/NewParserTest.php' );
3
4 /**
5 * The UnitTest must be either a class that inherits from MediaWikiTestCase
6 * or a class that provides a public static suite() method which returns
7 * an PHPUnit_Framework_Test object
8 *
9 * @group Parser
10 * @group Database
11 */
12 class MediaWikiParserTest {
13
14 public static function suite() {
15 global $wgParserTestFiles;
16
17 $suite = new PHPUnit_Framework_TestSuite;
18
19 foreach ( $wgParserTestFiles as $filename ) {
20 $testsName = basename( $filename, '.txt' );
21 /* This used to be ucfirst( basename( dirname( $filename ) ) )
22 * and then was ucfirst( basename( $filename, '.txt' )
23 * but that didn't work with names like foo.tests.txt
24 */
25 $className = str_replace( '.', '_', ucfirst( basename( $filename, '.txt' ) ) );
26
27 eval( "/** @group Database\n@group Parser\n*/ class $className extends NewParserTest { protected \$file = '" . strtr( $filename, array( "'" => "\\'", '\\' => '\\\\' ) ) . "'; } " );
28
29 $parserTester = new $className( $testsName );
30 $suite->addTestSuite( new ReflectionClass ( $parserTester ) );
31 }
32
33
34 return $suite;
35 }
36 }