fix MessageCacheTest for non-english wikis
authorumherirrender <umherirrender_de.wp@web.de>
Fri, 8 Mar 2013 16:09:06 +0000 (17:09 +0100)
committerumherirrender <umherirrender_de.wp@web.de>
Fri, 8 Mar 2013 16:09:06 +0000 (17:09 +0100)
MessageCacheTest::addDBData is called before setUp, so wgLanguageCode
and wgContLang are not set to 'en', which result in mediawiki pages
created as $key/en. When the test runs, the language is set correctly
and mediawiki is searching under $key, and does not find anything.

Set wgLanguageCode and wgContLang at the begin of addDBData

1) MessageCacheTest::testMessageFallbacks with data set #0
('FallbackLanguageTest-Full', 'ab', 'ab')
Message fallback failed.
Failed asserting that false matches expected 'ab'.

Change-Id: I8e70b7b424df6a9ad98bfb6c228809f4b4437d1e

tests/phpunit/includes/cache/MessageCacheTest.php

index 89021dd..4cc8bd2 100644 (file)
@@ -12,6 +12,12 @@ class MessageCacheTest extends MediaWikiLangTestCase {
        }
 
        function addDBData() {
+               // be sure english messages under $key, not $key/en
+               $this->setMwGlobals( array(
+                       'wgLanguageCode' => 'en',
+                       'wgContLang' => Language::factory( 'en' ),
+               ) );
+
                // Set up messages and fallbacks ab -> ru -> en
                $this->makePage( 'FallbackLanguageTest-Full', 'ab' );
                $this->makePage( 'FallbackLanguageTest-Full', 'ru' );