Merge "Web installer: always autoselect some DB type"
[lhc/web/wiklou.git] / tests / phpunit / includes / cache / GenderCacheTest.php
index d62ee20..ee3db3e 100644 (file)
-<?php\r
-\r
-/**\r
- * @group Database\r
- * @group Cache\r
- */\r
-class GenderCacheTest extends MediaWikiLangTestCase {\r
-\r
-       function setUp() {\r
-               parent::setUp();\r
-               //ensure the correct default gender\r
-               $wgDefaultUserOptions['gender'] = 'unknown';\r
-       }\r
-\r
-       function addDBData() {\r
-               $user = User::newFromName( 'UTMale' );\r
-               if( $user->getID() == 0 ) {\r
-                       $user->addToDatabase();\r
-                       $user->setPassword( 'UTMalePassword' );\r
-               }\r
-               //ensure the right gender\r
-               $user->setOption( 'gender', 'male' );\r
-               $user->saveSettings();\r
-\r
-               $user = User::newFromName( 'UTFemale' );\r
-               if( $user->getID() == 0 ) {\r
-                       $user->addToDatabase();\r
-                       $user->setPassword( 'UTFemalePassword' );\r
-               }\r
-               //ensure the right gender\r
-               $user->setOption( 'gender', 'female' );\r
-               $user->saveSettings();\r
-\r
-               $user = User::newFromName( 'UTDefaultGender' );\r
-               if( $user->getID() == 0 ) {\r
-                       $user->addToDatabase();\r
-                       $user->setPassword( 'UTDefaultGenderPassword' );\r
-               }\r
-               //ensure the default gender\r
-               $user->setOption( 'gender', null );\r
-               $user->saveSettings();\r
-       }\r
-\r
-       /**\r
-        * test usernames\r
-        *\r
-        * @dataProvider dataUserName\r
-        */\r
-       function testUserName( $username, $expectedGender ) {\r
-               $genderCache = GenderCache::singleton();\r
-               $gender = $genderCache->getGenderOf( $username );\r
-               $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
-       }\r
-\r
-       /**\r
-        * genderCache should work with user objects, too\r
-        *\r
-        * @dataProvider dataUserName\r
-        */\r
-       function testUserObjects( $username, $expectedGender ) {\r
-               $genderCache = GenderCache::singleton();\r
-               $user = User::newFromName( $username );\r
-               $gender = $genderCache->getGenderOf( $user );\r
-               $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
-       }\r
-\r
-       function dataUserName() {\r
-               return array(\r
-                       array( 'UTMale', 'male' ),\r
-                       array( 'UTFemale', 'female' ),\r
-                       array( 'UTDefaultGender', 'unknown' ),\r
-                       array( 'UTNotExist', 'unknown' ),\r
-                       //some not valid user\r
-                       array( '127.0.0.1', 'unknown' ),\r
-                       array( 'user@test', 'unknown' ),\r
-               );\r
-       }\r
-\r
-       /**\r
-        * test strip of subpages to avoid unnecessary queries\r
-        * against the never existing username\r
-        *\r
-        * @dataProvider dataStripSubpages\r
-        */\r
-       function testStripSubpages( $pageWithSubpage, $expectedGender ) {\r
-               $genderCache = GenderCache::singleton();\r
-               $gender = $genderCache->getGenderOf( $pageWithSubpage );\r
-               $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" );\r
-       }\r
-\r
-       function dataStripSubpages() {\r
-               return array(\r
-                       array( 'UTMale/subpage', 'male' ),\r
-                       array( 'UTFemale/subpage', 'female' ),\r
-                       array( 'UTDefaultGender/subpage', 'unknown' ),\r
-                       array( 'UTNotExist/subpage', 'unknown' ),\r
-                       array( '127.0.0.1/subpage', 'unknown' ),\r
-               );\r
-       }\r
-}\r
+<?php
+
+/**
+ * @group Database
+ * @group Cache
+ */
+class GenderCacheTest extends MediaWikiLangTestCase {
+
+       protected function setUp() {
+               global $wgDefaultUserOptions;
+               parent::setUp();
+               //ensure the correct default gender
+               $wgDefaultUserOptions['gender'] = 'unknown';
+       }
+
+       function addDBData() {
+               $user = User::newFromName( 'UTMale' );
+               if ( $user->getID() == 0 ) {
+                       $user->addToDatabase();
+                       $user->setPassword( 'UTMalePassword' );
+               }
+               //ensure the right gender
+               $user->setOption( 'gender', 'male' );
+               $user->saveSettings();
+
+               $user = User::newFromName( 'UTFemale' );
+               if ( $user->getID() == 0 ) {
+                       $user->addToDatabase();
+                       $user->setPassword( 'UTFemalePassword' );
+               }
+               //ensure the right gender
+               $user->setOption( 'gender', 'female' );
+               $user->saveSettings();
+
+               $user = User::newFromName( 'UTDefaultGender' );
+               if ( $user->getID() == 0 ) {
+                       $user->addToDatabase();
+                       $user->setPassword( 'UTDefaultGenderPassword' );
+               }
+               //ensure the default gender
+               $user->setOption( 'gender', null );
+               $user->saveSettings();
+       }
+
+       /**
+        * test usernames
+        *
+        * @dataProvider provideUserGenders
+        */
+       function testUserName( $username, $expectedGender ) {
+               $genderCache = GenderCache::singleton();
+               $gender = $genderCache->getGenderOf( $username );
+               $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+       }
+
+       /**
+        * genderCache should work with user objects, too
+        *
+        * @dataProvider provideUserGenders
+        */
+       function testUserObjects( $username, $expectedGender ) {
+               $genderCache = GenderCache::singleton();
+               $user = User::newFromName( $username );
+               $gender = $genderCache->getGenderOf( $user );
+               $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+       }
+
+       public static function provideUserGenders() {
+               return array(
+                       array( 'UTMale', 'male' ),
+                       array( 'UTFemale', 'female' ),
+                       array( 'UTDefaultGender', 'unknown' ),
+                       array( 'UTNotExist', 'unknown' ),
+                       //some not valid user
+                       array( '127.0.0.1', 'unknown' ),
+                       array( 'user@test', 'unknown' ),
+               );
+       }
+
+       /**
+        * test strip of subpages to avoid unnecessary queries
+        * against the never existing username
+        *
+        * @dataProvider provideStripSubpages
+        */
+       function testStripSubpages( $pageWithSubpage, $expectedGender ) {
+               $genderCache = GenderCache::singleton();
+               $gender = $genderCache->getGenderOf( $pageWithSubpage );
+               $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' ),
+               );
+       }
+}