From 86021805a4f74e8e4588a6e69f70bc700a28174f Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Mon, 2 Jul 2012 13:11:01 +0200 Subject: [PATCH] Revert "(bug 32297) Use symbolic names, not offsets for a default timezone." This reverts commit 3056b8dfd261f7fe431b5c634f691571835f5941. Change-Id: I29cf9a5389709b30f869072ed836cb5b85ba5106 --- languages/Language.php | 21 +++---- tests/phpunit/includes/TimeAdjustTest.php | 63 +++++-------------- .../phpunit/includes/TitlePermissionTest.php | 4 +- 3 files changed, 23 insertions(+), 65 deletions(-) diff --git a/languages/Language.php b/languages/Language.php index b026fad8a2..b531f2a376 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -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 ); diff --git a/tests/phpunit/includes/TimeAdjustTest.php b/tests/phpunit/includes/TimeAdjustTest.php index 31304f35c5..cd027c5b84 100644 --- a/tests/phpunit/includes/TimeAdjustTest.php +++ b/tests/phpunit/includes/TimeAdjustTest.php @@ -1,47 +1,31 @@ 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]}" + ); + } } - } diff --git a/tests/phpunit/includes/TitlePermissionTest.php b/tests/phpunit/includes/TitlePermissionTest.php index 6cf33f1aae..f62ac5dd72 100644 --- a/tests/phpunit/includes/TitlePermissionTest.php +++ b/tests/phpunit/includes/TitlePermissionTest.php @@ -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', -- 2.20.1