wiki.techinc.nl/tests/phpunit/includes/api/PrefixUniquenessTest.php
Kunal Mehta 6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00

30 lines
861 B
PHP

<?php
/**
* Checks that all API query modules, core and extensions, have unique prefixes.
*
* @group API
*/
class PrefixUniquenessTest extends MediaWikiTestCase {
public function testPrefixes() {
$main = new ApiMain( new FauxRequest() );
$query = new ApiQuery( $main, 'foo', 'bar' );
$moduleManager = $query->getModuleManager();
$modules = $moduleManager->getNames();
$prefixes = [];
foreach ( $modules as $name ) {
$module = $moduleManager->getModule( $name );
$class = get_class( $module );
$prefix = $module->getModulePrefix();
if ( $prefix !== '' && isset( $prefixes[$prefix] ) ) {
$this->fail( "Module prefix '{$prefix}' is shared between {$class} and {$prefixes[$prefix]}" );
}
$prefixes[$module->getModulePrefix()] = $class;
}
$this->assertTrue( true ); // dummy call to make this test non-incomplete
}
}