*/ 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() { $sitesTable = SiteSQLStore::newInstance(); $sitesTable->clear(); $sitesTable->saveSites( TestSites::getSites() ); } }