Fix parserTests.php for non-english test wikis
authorumherirrender <umherirrender_de.wp@web.de>
Tue, 30 Jul 2013 13:12:12 +0000 (15:12 +0200)
committerumherirrender <umherirrender_de.wp@web.de>
Tue, 30 Jul 2013 13:12:12 +0000 (15:12 +0200)
Running parserTests.php gives two failed test under a non-english wiki.

Both tests have corresponding article parts, which creates system
messages for the test.
While the messages gets added to the database, the language is not set
to en, so the created message gets under the wrong language into the
language cache.
When running the test, the language is set to en, but the message cannot
be found in the language cache. The message is not found.

Running test Bug 31098 Template which includes system messages which
includes the template... FAILED!
Running test Bug 32057: Title needed when expanding <h> nodes....
FAILED!

Change-Id: I18fb139e2227343018cdef737bda5aadb5c9fb35

tests/parser/parserTest.inc

index 0469138..b501296 100644 (file)
@@ -434,7 +434,12 @@ class ParserTest {
         */
        public function runTestsFromFiles( $filenames ) {
                $ok = false;
+
+               // be sure, ParserTest::addArticle has correct language set,
+               // so that system messages gets into the right language cache
+               $GLOBALS['wgLanguageCode'] = 'en';
                $GLOBALS['wgContLang'] = Language::factory( 'en' );
+
                $this->recorder->start();
                try {
                        $this->setupDatabase();