public function testLanguageMatrix()
 {
     $config = $this->loadCirrusConfig('production', 'enwiki', 'wiki', 'en', 'wikipedia');
     $allDbs = DBList::getall();
     foreach ($config['wgCirrusSearchLanguageToWikiMap'] as $lang => $wiki) {
         $this->assertArrayHasKey($wiki, $config['wgCirrusSearchWikiToNameMap']);
         $wikiName = $config['wgCirrusSearchWikiToNameMap'][$wiki];
         $this->assertContains($wikiName, $allDbs['wikipedia']);
     }
 }
 function ProjectsDatabases()
 {
     $cases = array();
     foreach (DBList::getall() as $projectname => $databases) {
         if (!DBlist::isWikiProject($projectname)) {
             # Skip files such as s1, private ...
             continue;
         }
         foreach ($databases as $database) {
             $cases[] = array($projectname, $database);
         }
     }
     return $cases;
 }
 /**
  * FIXME we want to keep continuing showing errors
  */
 function testDblistAllContainsAllDatabaseNames()
 {
     $dbs = DBList::getall();
     # Content of all.dblist
     $all = $dbs['all'];
     # No point in checking that the db listed in 'all' are contained
     # in 'all':
     unset($dbs['all']);
     # dblist files we are just ignoring/skipping
     # FIXME ideally we want to clean those files from any old dbnames
     $skip = array('all-labs', 'closed', 'deleted', 'new_wiktionaries', 'news', 'private', 'special', 'todo');
     foreach ($dbs as $dbfile => $dbnames) {
         if (in_array($dbfile, $skip)) {
             continue;
         }
         $this->assertEquals(array(), array_diff($dbnames, $all), "'{$dbfile}.dblist' contains names not in 'all.dblist'");
     }
 }