MediaWiki
REL1_24
|
00001 <?php 00002 00014 class SpecialPageAliasTest extends MediaWikiTestCase { 00015 00019 public function testValidSpecialPageAliases( $code, $specialPageAliases ) { 00020 foreach ( $specialPageAliases as $specialPage => $aliases ) { 00021 foreach ( $aliases as $alias ) { 00022 $msg = "$specialPage alias '$alias' in $code is valid with no slashes"; 00023 $this->assertRegExp( '/^[^\/]*$/', $msg ); 00024 } 00025 } 00026 } 00027 00028 public function validSpecialPageAliasesProvider() { 00029 $codes = array_keys( Language::fetchLanguageNames( 'mwfile' ) ); 00030 00031 $data = array(); 00032 00033 foreach ( $codes as $code ) { 00034 $specialPageAliases = $this->getSpecialPageAliases( $code ); 00035 00036 if ( $specialPageAliases !== array() ) { 00037 $data[] = array( $code, $specialPageAliases ); 00038 } 00039 } 00040 00041 return $data; 00042 } 00043 00049 protected function getSpecialPageAliases( $code ) { 00050 $file = Language::getMessagesFileName( $code ); 00051 00052 if ( is_readable( $file ) ) { 00053 include $file; 00054 00055 if ( isset( $specialPageAliases ) && $specialPageAliases !== null ) { 00056 return $specialPageAliases; 00057 } 00058 } 00059 00060 return array(); 00061 } 00062 00063 }