From 7dd1600e9c04efd5988e99b7182a6e039dbe3575 Mon Sep 17 00:00:00 2001 From: addshore Date: Tue, 22 Nov 2016 23:14:43 +0000 Subject: [PATCH] Get GenderCache from MediaWikiServices Change-Id: I752a65d93ec49ea6c44306eb18a6641ef86f7b5c --- includes/api/ApiPageSet.php | 5 +++-- includes/api/ApiQueryAllPages.php | 3 ++- includes/parser/CoreParserFunctions.php | 6 ++++-- tests/phpunit/includes/cache/GenderCacheTest.php | 7 ++++--- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php index 46c57b86b4..1a509c5c1e 100644 --- a/includes/api/ApiPageSet.php +++ b/includes/api/ApiPageSet.php @@ -23,6 +23,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; /** * This class contains a list of pages that the client has requested. @@ -915,7 +916,7 @@ class ApiPageSet extends ApiBase { } // Get gender information - $genderCache = GenderCache::singleton(); + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); $genderCache->doQuery( $usernames, __METHOD__ ); } @@ -1197,7 +1198,7 @@ class ApiPageSet extends ApiBase { } } // Get gender information - $genderCache = GenderCache::singleton(); + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); $genderCache->doQuery( $usernames, __METHOD__ ); return $linkBatch; diff --git a/includes/api/ApiQueryAllPages.php b/includes/api/ApiQueryAllPages.php index 0ce1939b28..6a0f124faf 100644 --- a/includes/api/ApiQueryAllPages.php +++ b/includes/api/ApiQueryAllPages.php @@ -23,6 +23,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; /** * Query module to enumerate all available pages. @@ -206,7 +207,7 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase { foreach ( $res as $row ) { $users[] = $row->page_title; } - GenderCache::singleton()->doQuery( $users, __METHOD__ ); + MediaWikiServices::getInstance()->getGenderCache()->doQuery( $users, __METHOD__ ); $res->rewind(); // reset } diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index 01cce028a2..4c82dda402 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -20,6 +20,7 @@ * @file * @ingroup Parser */ +use MediaWiki\MediaWikiServices; /** * Various core parser functions, registered in Parser::firstCallInit() @@ -346,10 +347,11 @@ class CoreParserFunctions { // check parameter, or use the ParserOptions if in interface message $user = User::newFromName( $username ); + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); if ( $user ) { - $gender = GenderCache::singleton()->getGenderOf( $user, __METHOD__ ); + $gender = $genderCache->getGenderOf( $user, __METHOD__ ); } elseif ( $username === '' && $parser->getOptions()->getInterfaceMessage() ) { - $gender = GenderCache::singleton()->getGenderOf( $parser->getOptions()->getUser(), __METHOD__ ); + $gender = $genderCache->getGenderOf( $parser->getOptions()->getUser(), __METHOD__ ); } $ret = $parser->getFunctionLang()->gender( $gender, $forms ); return $ret; diff --git a/tests/phpunit/includes/cache/GenderCacheTest.php b/tests/phpunit/includes/cache/GenderCacheTest.php index 9c723c028d..e5bb2379ef 100644 --- a/tests/phpunit/includes/cache/GenderCacheTest.php +++ b/tests/phpunit/includes/cache/GenderCacheTest.php @@ -1,4 +1,5 @@ getGenderCache(); $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; $gender = $genderCache->getGenderOf( $username ); $this->assertEquals( $gender, $expectedGender, "GenderCache normal" ); @@ -53,7 +54,7 @@ class GenderCacheTest extends MediaWikiLangTestCase { */ public function testUserObjects( $userKey, $expectedGender ) { $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; - $genderCache = GenderCache::singleton(); + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); $gender = $genderCache->getGenderOf( $username ); $this->assertEquals( $gender, $expectedGender, "GenderCache normal" ); } @@ -79,7 +80,7 @@ class GenderCacheTest extends MediaWikiLangTestCase { */ public function testStripSubpages( $userKey, $expectedGender ) { $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; - $genderCache = GenderCache::singleton(); + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); $gender = $genderCache->getGenderOf( "$username/subpage" ); $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" ); } -- 2.20.1