X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fcache%2FGenderCacheTest.php;h=e5bb2379ef3c8a39e50edc064ed7ebd9db31c5d2;hb=008062c87cb4b400fcb5df0caf137bf2964a28e3;hp=6b22000116d2a0733eaee6d4fea81fc75d1e9373;hpb=3de7e73bd0f0ddf5d7c38fd46edfae96d1a64e40;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/cache/GenderCacheTest.php b/tests/phpunit/includes/cache/GenderCacheTest.php index 6b22000116..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', array( 'gender' => 'unknown' ) ); + $this->mergeMwGlobalArrayValue( 'wgDefaultUserOptions', [ 'gender' => 'unknown' ] ); + + $male = $this->getMutableTestUser()->getUser(); + $male->setOption( 'gender', 'male' ); + $male->saveSettings(); - $user = User::newFromName( 'UTMale' ); - if ( $user->getID() == 0 ) { - $user->addToDatabase(); - $user->setPassword( 'UTMalePassword' ); - } - // ensure the right gender - $user->setOption( 'gender', 'male' ); - $user->saveSettings(); + $female = $this->getMutableTestUser()->getUser(); + $female->setOption( 'gender', 'female' ); + $female->saveSettings(); - $user = User::newFromName( 'UTFemale' ); - if ( $user->getID() == 0 ) { - $user->addToDatabase(); - $user->setPassword( '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(); - $user->setPassword( '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,45 +52,36 @@ 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" ); } public static function provideUserGenders() { - return array( - array( 'UTMale', 'male' ), - array( 'UTFemale', 'female' ), - array( 'UTDefaultGender', 'unknown' ), - array( 'UTNotExist', 'unknown' ), + return [ + [ 'UTMale', 'male' ], + [ 'UTFemale', 'female' ], + [ 'UTDefaultGender', 'unknown' ], + [ 'UTNotExist', 'unknown' ], // some not valid user - array( '127.0.0.1', 'unknown' ), - array( 'user@test', 'unknown' ), - ); + [ '127.0.0.1', 'unknown' ], + [ 'user@test', 'unknown' ], + ]; } /** * 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 array( - array( 'UTMale/subpage', 'male' ), - array( 'UTFemale/subpage', 'female' ), - array( 'UTDefaultGender/subpage', 'unknown' ), - array( 'UTNotExist/subpage', 'unknown' ), - array( '127.0.0.1/subpage', 'unknown' ), - ); - } }