*/ class TestSites { /** * @since 1.21 * * @return array */ public static function getSites() { $sites = array(); $site = new Site(); $site->setGlobalId( 'foobar' ); $sites[] = $site; $site = new MediaWikiSite(); $site->setGlobalId( 'enwiktionary' ); $site->setGroup( 'wiktionary' ); $site->setLanguageCode( 'en' ); $site->addNavigationId( 'enwiktionary' ); $site->setPath( MediaWikiSite::PATH_PAGE, "https://en.wiktionary.org/wiki/$1" ); $site->setPath( MediaWikiSite::PATH_FILE, "https://en.wiktionary.org/w/$1" ); $sites[] = $site; $site = new MediaWikiSite(); $site->setGlobalId( 'dewiktionary' ); $site->setGroup( 'wiktionary' ); $site->setLanguageCode( 'de' ); $site->addInterwikiId( 'dewiktionary' ); $site->addInterwikiId( 'wiktionaryde' ); $site->setPath( MediaWikiSite::PATH_PAGE, "https://de.wiktionary.org/wiki/$1" ); $site->setPath( MediaWikiSite::PATH_FILE, "https://de.wiktionary.org/w/$1" ); $sites[] = $site; $site = new Site(); $site->setGlobalId( 'spam' ); $site->setGroup( 'spam' ); $site->setLanguageCode( 'en' ); $site->addNavigationId( 'spam' ); $site->addNavigationId( 'spamz' ); $site->addInterwikiId( 'spamzz' ); $site->setLinkPath( "http://spamzz.test/testing/" ); $sites[] = $site; foreach ( array( 'en', 'de', 'nl', 'sv', 'sr', 'no', 'nn' ) as $langCode ) { $site = new MediaWikiSite(); $site->setGlobalId( $langCode . 'wiki' ); $site->setGroup( 'wikipedia' ); $site->setLanguageCode( $langCode ); $site->addInterwikiId( $langCode ); $site->addNavigationId( $langCode ); $site->setPath( MediaWikiSite::PATH_PAGE, "https://$langCode.wikipedia.org/wiki/$1" ); $site->setPath( MediaWikiSite::PATH_FILE, "https://$langCode.wikipedia.org/w/$1" ); $sites[] = $site; } return $sites; } /** * Inserts sites into the database for the unit tests that need them. * * @since 0.1 */ public static function insertIntoDb() { $dbw = wfGetDB( DB_MASTER ); $trx = $dbw->trxLevel(); if ( $trx == 0 ) { $dbw->begin( __METHOD__ ); } $dbw->delete( 'sites', '*', __METHOD__ ); $dbw->delete( 'site_identifiers', '*', __METHOD__ ); $sitesTable = SiteSQLStore::newInstance(); $sitesTable->saveSites( TestSites::getSites() ); if ( $trx == 0 ) { $dbw->commit( __METHOD__ ); } } }