Merge branch 'Wikidata' into master.
[lhc/web/wiklou.git] / tests / phpunit / includes / TitleTest.php
index ff535c3..0a3f6f6 100644 (file)
@@ -7,6 +7,19 @@
  */
 class TitleTest extends MediaWikiTestCase {
 
+       protected function setUp() {
+               parent::setUp();
+
+               $this->setMwGlobals( array(
+                       'wgLanguageCode' => 'en',
+                       'wgContLang' => Language::factory( 'en' ),
+                       // User language
+                       'wgLang' => Language::factory( 'en' ),
+                       'wgAllowUserJs' => false,
+                       'wgDefaultLanguageVariant' => false,
+               ) );
+       }
+
        function testLegalChars() {
                $titlechars = Title::legalChars();
 
@@ -21,7 +34,7 @@ class TitleTest extends MediaWikiTestCase {
        }
 
        /**
-        * @dataProvider dataBug31100
+        * @dataProvider provideBug31100
         */
        function testBug31100FixSpecialName( $text, $expectedParam ) {
                $title = Title::newFromText( $text );
@@ -35,7 +48,7 @@ class TitleTest extends MediaWikiTestCase {
                $this->assertEquals( $expectedParam, $par, "Bug 31100 regression check: Title->fixSpecialName() should preserve parameter" );
        }
 
-       function dataBug31100() {
+       public static function provideBug31100() {
                return array(
                        array( 'Special:Version', null ),
                        array( 'Special:Version/', '' ),
@@ -50,7 +63,7 @@ class TitleTest extends MediaWikiTestCase {
         * @param string $source
         * @param string $target
         * @param array|string|true $expected Required error
-        * @dataProvider dataTestIsValidMoveOperation
+        * @dataProvider provideTestIsValidMoveOperation
         */
        function testIsValidMoveOperation( $source, $target, $expected ) {
                $title = Title::newFromText( $source );
@@ -74,7 +87,7 @@ class TitleTest extends MediaWikiTestCase {
                return $result;
        }
        
-       function dataTestIsValidMoveOperation() {
+       public static function provideTestIsValidMoveOperation() {
                return array( 
                        array( 'Test', 'Test', 'selfmove' ),
                        array( 'File:Test.jpg', 'Page', 'imagenocrossnamespace' )
@@ -84,22 +97,15 @@ class TitleTest extends MediaWikiTestCase {
        /**
         * @dataProvider provideCasesForGetpageviewlanguage
         */
-       function testGetpageviewlanguage( $expected, $titleText, $contLang, $lang, $variant, $msg='' ) {
-               // Save globals
-               global $wgContLang, $wgLang, $wgAllowUserJs, $wgLanguageCode, $wgDefaultLanguageVariant;
-               $save['wgContLang']               = $wgContLang;
-               $save['wgLang']                   = $wgLang;
-               $save['wgAllowUserJs']            = $wgAllowUserJs;
-               $save['wgLanguageCode']           = $wgLanguageCode;
-               $save['wgDefaultLanguageVariant'] = $wgDefaultLanguageVariant;
-
-               // Setup test environnement:
-               $wgContLang = Language::factory( $contLang );
-               $wgLang     = Language::factory( $lang );
-               # To test out .js titles:
-               $wgAllowUserJs = true;
+       function testGetpageviewlanguage( $expected, $titleText, $contLang, $lang, $variant, $msg = '' ) {
+               global $wgLanguageCode, $wgContLang, $wgLang, $wgDefaultLanguageVariant, $wgAllowUserJs;
+
+               // Setup environnement for this test
                $wgLanguageCode = $contLang;
+               $wgContLang = Language::factory( $contLang );
+               $wgLang = Language::factory( $lang );
                $wgDefaultLanguageVariant = $variant;
+               $wgAllowUserJs = true;
 
                $title = Title::newFromText( $titleText );
                $this->assertInstanceOf( 'Title', $title,
@@ -109,13 +115,6 @@ class TitleTest extends MediaWikiTestCase {
                        $title->getPageViewLanguage()->getCode(),
                        $msg
                );
-
-               // Restore globals
-               $wgContLang               = $save['wgContLang'];
-               $wgLang                   = $save['wgLang'];
-               $wgAllowUserJs            = $save['wgAllowUserJs'];
-               $wgLanguageCode           = $save['wgLanguageCode'];
-               $wgDefaultLanguageVariant = $save['wgDefaultLanguageVariant'];
        }
 
        function provideCasesForGetpageviewlanguage() {
@@ -187,7 +186,7 @@ class TitleTest extends MediaWikiTestCase {
                );
        }
 
-       function provideRootTitleCases() {
+       public static function provideRootTitleCases() {
                return array(
                        # Title, expected base, optional message
                        array('User:John_Doe/subOne/subTwo', 'John Doe' ),