4 * Verifies that special page aliases are valid, with no slashes.
7 * @group SpecialPageAliases
10 * @todo This should be a structure test
12 * @author Katie Filbert < aude.wiki@gmail.com >
14 class SpecialPageAliasTest
extends \MediaWikiUnitTestCase
{
18 * @dataProvider validSpecialPageAliasesProvider
20 public function testValidSpecialPageAliases( $code, $specialPageAliases ) {
21 foreach ( $specialPageAliases as $specialPage => $aliases ) {
22 foreach ( $aliases as $alias ) {
23 $msg = "$specialPage alias '$alias' in $code is valid with no slashes";
24 $this->assertRegExp( '/^[^\/]*$/', $msg );
29 public function validSpecialPageAliasesProvider() {
30 $codes = array_keys( Language
::fetchLanguageNames( null, 'mwfile' ) );
34 foreach ( $codes as $code ) {
35 $specialPageAliases = $this->getSpecialPageAliases( $code );
37 if ( $specialPageAliases !== [] ) {
38 $data[] = [ $code, $specialPageAliases ];
50 protected function getSpecialPageAliases( $code ) {
51 $file = Language
::getMessagesFileName( $code );
53 if ( is_readable( $file ) ) {
56 if ( isset( $specialPageAliases ) && $specialPageAliases !== null ) {
57 return $specialPageAliases;