X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fcache%2FGenderCacheTest.php;h=e5bb2379ef3c8a39e50edc064ed7ebd9db31c5d2;hb=008062c87cb4b400fcb5df0caf137bf2964a28e3;hp=40994da037a3ae4b7326c42ce8261018b00f6ed2;hpb=a8995619c1bc0c0880962a266a0398bc87d1b7ae;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/cache/GenderCacheTest.php b/tests/phpunit/includes/cache/GenderCacheTest.php index 40994da037..e5bb2379ef 100644 --- a/tests/phpunit/includes/cache/GenderCacheTest.php +++ b/tests/phpunit/includes/cache/GenderCacheTest.php @@ -1,4 +1,5 @@ username */ + private static $nameMap; + function addDBDataOnce() { // ensure the correct default gender $this->mergeMwGlobalArrayValue( 'wgDefaultUserOptions', [ 'gender' => 'unknown' ] ); - $user = User::newFromName( 'UTMale' ); - if ( $user->getID() == 0 ) { - $user->addToDatabase(); - TestUser::setPasswordForUser( $user, 'UTMalePassword' ); - } - // ensure the right gender - $user->setOption( 'gender', 'male' ); - $user->saveSettings(); + $male = $this->getMutableTestUser()->getUser(); + $male->setOption( 'gender', 'male' ); + $male->saveSettings(); + + $female = $this->getMutableTestUser()->getUser(); + $female->setOption( 'gender', 'female' ); + $female->saveSettings(); - $user = User::newFromName( 'UTFemale' ); - if ( $user->getID() == 0 ) { - $user->addToDatabase(); - TestUser::setPasswordForUser( $user, 'UTFemalePassword' ); - } - // ensure the right gender - $user->setOption( 'gender', 'female' ); - $user->saveSettings(); + $default = $this->getMutableTestUser()->getUser(); + $default->setOption( 'gender', null ); + $default->saveSettings(); - $user = User::newFromName( 'UTDefaultGender' ); - if ( $user->getID() == 0 ) { - $user->addToDatabase(); - TestUser::setPasswordForUser( $user, 'UTDefaultGenderPassword' ); - } - // ensure the default gender - $user->setOption( 'gender', null ); - $user->saveSettings(); + self::$nameMap = [ + 'UTMale' => $male->getName(), + 'UTFemale' => $female->getName(), + 'UTDefaultGender' => $default->getName() + ]; } /** @@ -44,8 +39,9 @@ class GenderCacheTest extends MediaWikiLangTestCase { * @dataProvider provideUserGenders * @covers GenderCache::getGenderOf */ - public function testUserName( $username, $expectedGender ) { - $genderCache = GenderCache::singleton(); + public function testUserName( $userKey, $expectedGender ) { + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); + $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; $gender = $genderCache->getGenderOf( $username ); $this->assertEquals( $gender, $expectedGender, "GenderCache normal" ); } @@ -56,10 +52,10 @@ class GenderCacheTest extends MediaWikiLangTestCase { * @dataProvider provideUserGenders * @covers GenderCache::getGenderOf */ - public function testUserObjects( $username, $expectedGender ) { - $genderCache = GenderCache::singleton(); - $user = User::newFromName( $username ); - $gender = $genderCache->getGenderOf( $user ); + public function testUserObjects( $userKey, $expectedGender ) { + $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); + $gender = $genderCache->getGenderOf( $username ); $this->assertEquals( $gender, $expectedGender, "GenderCache normal" ); } @@ -79,22 +75,13 @@ class GenderCacheTest extends MediaWikiLangTestCase { * test strip of subpages to avoid unnecessary queries * against the never existing username * - * @dataProvider provideStripSubpages + * @dataProvider provideUserGenders * @covers GenderCache::getGenderOf */ - public function testStripSubpages( $pageWithSubpage, $expectedGender ) { - $genderCache = GenderCache::singleton(); - $gender = $genderCache->getGenderOf( $pageWithSubpage ); + public function testStripSubpages( $userKey, $expectedGender ) { + $username = isset( self::$nameMap[$userKey] ) ? self::$nameMap[$userKey] : $userKey; + $genderCache = MediaWikiServices::getInstance()->getGenderCache(); + $gender = $genderCache->getGenderOf( "$username/subpage" ); $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" ); } - - public static function provideStripSubpages() { - return [ - [ 'UTMale/subpage', 'male' ], - [ 'UTFemale/subpage', 'female' ], - [ 'UTDefaultGender/subpage', 'unknown' ], - [ 'UTNotExist/subpage', 'unknown' ], - [ '127.0.0.1/subpage', 'unknown' ], - ]; - } }