diff options
Diffstat (limited to 'tests/phpunit/MediaWikiLangTestCase.php')
-rw-r--r-- | tests/phpunit/MediaWikiLangTestCase.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/phpunit/MediaWikiLangTestCase.php b/tests/phpunit/MediaWikiLangTestCase.php new file mode 100644 index 00000000..1131385f --- /dev/null +++ b/tests/phpunit/MediaWikiLangTestCase.php @@ -0,0 +1,33 @@ +<?php + +/** + * Base class that store and restore the Language objects + */ +abstract class MediaWikiLangTestCase extends MediaWikiTestCase { + + protected function setUp() { + global $wgLanguageCode, $wgContLang; + parent::setUp(); + + if ( $wgLanguageCode != $wgContLang->getCode() ) { + throw new MWException( "Error in MediaWikiLangTestCase::setUp(): " . + "\$wgLanguageCode ('$wgLanguageCode') is different from " . + "\$wgContLang->getCode() (" . $wgContLang->getCode() . ")" ); + } + + // HACK: Call getLanguage() so the real $wgContLang is cached as the user language + // rather than our fake one. This is to avoid breaking other, unrelated tests. + RequestContext::getMain()->getLanguage(); + + $langCode = 'en'; # For mainpage to be 'Main Page' + $langObj = Language::factory( $langCode ); + + $this->setMwGlobals( array( + 'wgLanguageCode' => $langCode, + 'wgLang' => $langObj, + 'wgContLang' => $langObj, + ) ); + + MessageCache::singleton()->disable(); + } +} |