MediaWiki
REL1_21
|
00001 <?php 00030 abstract class LanguageClassesTestCase extends MediaWikiTestCase { 00031 00036 private static $reExtractLangFromClass = '/Language(.*)Test/'; 00037 00042 private static $LanguageClassCode; 00043 00058 private $languageObject; 00059 00060 public static function setUpBeforeClass() { 00061 $found = preg_match( self::$reExtractLangFromClass, 00062 get_called_class(), $m ); 00063 if ( $found ) { 00064 # Normalize language code since classes uses underscores 00065 $m[1] = str_replace( '_', '-', $m[1] ); 00066 } else { 00067 # Fallback to english language 00068 $m[1] = 'en'; 00069 wfDebug( 00070 __METHOD__ . " could not extract a language name " 00071 . "out of " . get_called_class() . " failling back to 'en'\n" 00072 ); 00073 } 00074 // TODO: validate $m[1] which should be a valid language code 00075 self::$LanguageClassCode = $m[1]; 00076 } 00077 00078 protected function getLang() { 00079 return $this->languageObject; 00080 } 00081 00085 protected function setUp() { 00086 parent::setUp(); 00087 $this->languageObject = Language::factory( 00088 self::$LanguageClassCode ); 00089 } 00090 00095 protected function tearDown() { 00096 unset( $this->languageObject ); 00097 parent::tearDown(); 00098 } 00099 00100 }