MediaWiki  REL1_24
SpecialPageAliasTest.php
Go to the documentation of this file.
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 }