Revert "(bug 32297) Use symbolic names, not offsets for a default timezone."
authorAntoine Musso <hashar@free.fr>
Mon, 2 Jul 2012 11:11:01 +0000 (13:11 +0200)
committerAntoine Musso <hashar@free.fr>
Mon, 2 Jul 2012 11:12:16 +0000 (13:12 +0200)
This reverts commit 3056b8dfd261f7fe431b5c634f691571835f5941.

Change-Id: I29cf9a5389709b30f869072ed836cb5b85ba5106

languages/Language.php
tests/phpunit/includes/TimeAdjustTest.php
tests/phpunit/includes/TitlePermissionTest.php

index b026fad..b531f2a 100644 (file)
@@ -1758,7 +1758,7 @@ class Language {
         * @return int
         */
        function userAdjust( $ts, $tz = false ) {
-               global $wgUser, $wgLocaltimezone, $wgLocalTZoffset;
+               global $wgUser, $wgLocalTZoffset;
 
                if ( $tz === false ) {
                        $tz = $wgUser->getOption( 'timecorrection' );
@@ -1766,18 +1766,6 @@ class Language {
 
                $data = explode( '|', $tz, 3 );
 
-               if ( $data[0] == 'System' || $tz == '' ) {
-                       # Global timezone
-                       if ( isset( $wgLocaltimezone ) ) {
-                               $data[0] = 'ZoneInfo';
-                               $data[2] = $wgLocaltimezone;
-                       }
-                       #  Global offset in minutes.
-                       if ( isset( $wgLocalTZoffset ) ) {
-                               $data[1] = $wgLocalTZoffset;
-                       }
-               }
-
                if ( $data[0] == 'ZoneInfo' ) {
                        wfSuppressWarnings();
                        $userTZ = timezone_open( $data[2] );
@@ -1793,7 +1781,12 @@ class Language {
                }
 
                $minDiff = 0;
-               if ( $data[0] == 'Offset' ) {
+               if ( $data[0] == 'System' || $tz == '' ) {
+                       #  Global offset in minutes.
+                       if ( isset( $wgLocalTZoffset ) ) {
+                               $minDiff = $wgLocalTZoffset;
+                       }
+               } elseif ( $data[0] == 'Offset' ) {
                        $minDiff = intval( $data[1] );
                } else {
                        $data = explode( ':', $tz );
index 31304f3..cd027c5 100644 (file)
@@ -1,47 +1,31 @@
 <?php
 
 class TimeAdjustTest extends MediaWikiLangTestCase {
-       static $offset, $timezone;
+       static $offset;
 
        public function setUp() {
                parent::setUp();
-               global $wgLocalTZoffset, $wgLocaltimezone;
+               global $wgLocalTZoffset;
                self::$offset = $wgLocalTZoffset;
-               self::$timezone = $wgLocaltimezone;
 
                $this->iniSet( 'precision', 15 );
        }
 
        public function tearDown() {
-               global $wgLocalTZoffset, $wgLocaltimezone;
+               global $wgLocalTZoffset;
                $wgLocalTZoffset = self::$offset;
-               $wgLocaltimezone = self::$timezone;
                parent::tearDown();
        }
 
-       /**
-        * Test offset usage for a given language::userAdjust
-        * @dataProvider dataUserAdjustWithOffset
-        */
-       function testUserAdjustWithOffset( $inputDate, $offset, $expectedDate ) {
-               global $wgLocalTZoffset, $wgLocaltimezone, $wgContLang;
+       # Test offset usage for a given language::userAdjust
+       function testUserAdjust() {
+               global $wgLocalTZoffset, $wgContLang;
 
                $wgContLang = $en = Language::factory( 'en' );
 
-               $wgLocaltimezone = 'DummyTimezoneSoUserAdjustWillUseTzOffset';
-               $wgLocalTZoffset = $offset;
-
-               $this->assertEquals(
-                       strval( $expectedDate ),
-                       strval( $en->userAdjust( $inputDate, '' ) ),
-                       "User adjust {$inputDate} by {$offset} minutes should give {$expectedDate}"
-               );
-       }
-
-       function dataUserAdjustWithOffset() {
                #  Collection of parameters for Language_t_Offset.
                # Format: date to be formatted, localTZoffset value, expected date
-               return array(
+               $userAdjust_tests = array(
                        array( 20061231235959,   0, 20061231235959 ),
                        array( 20061231235959,   5, 20070101000459 ),
                        array( 20061231235959,  15, 20070101001459 ),
@@ -53,32 +37,15 @@ class TimeAdjustTest extends MediaWikiLangTestCase {
                        array( 20061231235959, -30, 20061231232959 ),
                        array( 20061231235959, -60, 20061231225959 ),
                );
-       }
-
-       /**
-        * Test timezone usage for a given language::userAdjust
-        * @dataProvider dataUserAdjustWithTimezone
-        */
-       function testUserAdjustWithTimezone( $inputDate, $timezone, $expectedDate ) {
-               global $wgLocalTZoffset, $wgLocaltimezone;
 
-               $wgContLang = $en = Language::factory( 'en' );
+               foreach ( $userAdjust_tests as $data ) {
+                       $wgLocalTZoffset = $data[1];
 
-               $wgLocaltimezone = $timezone;
-               $wgLocalTZoffset = 0;
-
-               $this->assertEquals(
-                       strval( $expectedDate ),
-                       strval( $en->userAdjust( $inputDate, '' ) ),
-                       "User adjust {$inputDate} with timezone {$timezone} should give {$expectedDate}"
-               );
-       }
-
-       function dataUserAdjustWithTimezone() {
-               return array(
-                       array( 20111028233711, 'Europe/Warsaw', 20111029013711 ),
-                       array( 20111108205929, 'Europe/Warsaw', 20111108215929 ),
-               );
+                       $this->assertEquals(
+                               strval( $data[2] ),
+                               strval( $en->userAdjust( $data[0], '' ) ),
+                               "User adjust {$data[0]} by {$data[1]} minutes should give {$data[2]}"
+                       );
+               }
        }
-
 }
index 6cf33f1..f62ac5d 100644 (file)
@@ -643,10 +643,8 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
                // quickUserCan should ignore user blocks
                $this->assertEquals( true, $this->title->quickUserCan( 'move-target' ) );
 
-               global $wgLocalTZoffset, $wgLocaltimezone;
+               global $wgLocalTZoffset;
                $wgLocalTZoffset = -60;
-               $wgLocaltimezone = 'DummyTimezoneSoUserAdjustWillUseTzOffset';
-
                $this->user->mBlockedby = $this->user->getName();
                $this->user->mBlock = new Block( '127.0.8.1', 0, 1, 'no reason given', $now, 0, 10 );
                $this->assertEquals( array( array( 'blockedtext',