$this->assertTrue( $moduleManager->isDefined( $name, $group ), 'isDefined' );
$this->assertNotNull( $moduleManager->getModule( $name, $group, true ), 'getModule' );
}
+
+ $this->assertTrue( true ); // Don't mark the test as risky if $modules is empty
}
public function getModuleProvider() {
}
/**
+ * @covers ApiModuleManager::getModule
* @dataProvider getModuleProvider
*/
public function testGetModule( $modules, $name, $expectedClass ) {
$this->assertNotSame( $module1, $module4 );
}
+ /**
+ * @covers ApiModuleManager::getModule
+ */
public function testGetModule_null() {
$modules = array(
'login' => 'ApiLogin',
$this->assertNull( $moduleManager->getModule( 'login', 'bla' ), 'wrong group' );
}
+ /**
+ * @covers ApiModuleManager::getNames
+ */
public function testGetNames() {
$fooModules = array(
'login' => 'ApiLogin',
$this->assertArrayEquals( array_keys( $allModules ), $allNames );
}
+ /**
+ * @covers ApiModuleManager::getNamesWithClasses
+ */
public function testGetNamesWithClasses() {
$fooModules = array(
'login' => 'ApiLogin',
$this->assertArrayEquals( $allModules, $allNamesWithClasses );
}
+ /**
+ * @covers ApiModuleManager::getModuleGroup
+ */
public function testGetModuleGroup() {
$fooModules = array(
'login' => 'ApiLogin',
$this->assertNull( $moduleManager->getModuleGroup( 'quux' ) );
}
+ /**
+ * @covers ApiModuleManager::getGroups
+ */
public function testGetGroups() {
$fooModules = array(
'login' => 'ApiLogin',
$this->assertArrayEquals( array( 'foo', 'bar' ), $groups );
}
+ /**
+ * @covers ApiModuleManager::getClassName
+ */
+ public function testGetClassName() {
+ $fooModules = array(
+ 'login' => 'ApiLogin',
+ 'logout' => 'ApiLogout',
+ );
+
+ $barModules = array(
+ 'feedcontributions' => array( 'class' => 'ApiFeedContributions' ),
+ 'feedrecentchanges' => array( 'class' => 'ApiFeedRecentChanges' ),
+ );
+
+ $moduleManager = $this->getModuleManager();
+ $moduleManager->addModules( $fooModules, 'foo' );
+ $moduleManager->addModules( $barModules, 'bar' );
+
+ $this->assertEquals( 'ApiLogin', $moduleManager->getClassName( 'login' ) );
+ $this->assertEquals( 'ApiLogout', $moduleManager->getClassName( 'logout' ) );
+ $this->assertEquals( 'ApiFeedContributions', $moduleManager->getClassName( 'feedcontributions' ) );
+ $this->assertEquals( 'ApiFeedRecentChanges', $moduleManager->getClassName( 'feedrecentchanges' ) );
+ $this->assertFalse( $moduleManager->getClassName( 'nonexistentmodule' ) );
+ }
+
+
}