Merge "(Bug 44987) Allow n=form in plural syntax"
[lhc/web/wiklou.git] / tests / phpunit / includes / TimeAdjustTest.php
index 31304f3..a58702b 100644 (file)
@@ -1,84 +1,45 @@
 <?php
 
 class TimeAdjustTest extends MediaWikiLangTestCase {
-       static $offset, $timezone;
-
-       public function setUp() {
+       protected function setUp() {
                parent::setUp();
-               global $wgLocalTZoffset, $wgLocaltimezone;
-               self::$offset = $wgLocalTZoffset;
-               self::$timezone = $wgLocaltimezone;
 
-               $this->iniSet( 'precision', 15 );
-       }
+               $this->setMwGlobals( array(
+                       'wgLocalTZoffset' => null,
+                       'wgContLang' => Language::factory( 'en' ),
+                       'wgLanguageCode' => 'en',
+               ) );
 
-       public function tearDown() {
-               global $wgLocalTZoffset, $wgLocaltimezone;
-               $wgLocalTZoffset = self::$offset;
-               $wgLocaltimezone = self::$timezone;
-               parent::tearDown();
+               $this->iniSet( 'precision', 15 );
        }
 
-       /**
-        * Test offset usage for a given language::userAdjust
-        * @dataProvider dataUserAdjustWithOffset
-        */
-       function testUserAdjustWithOffset( $inputDate, $offset, $expectedDate ) {
-               global $wgLocalTZoffset, $wgLocaltimezone, $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}"
-               );
-       }
+       # Test offset usage for a given language::userAdjust
+       function testUserAdjust() {
+               global $wgLocalTZoffset, $wgContLang;
 
-       function dataUserAdjustWithOffset() {
                #  Collection of parameters for Language_t_Offset.
                # Format: date to be formatted, localTZoffset value, expected date
-               return array(
-                       array( 20061231235959,   0, 20061231235959 ),
-                       array( 20061231235959,   5, 20070101000459 ),
-                       array( 20061231235959,  15, 20070101001459 ),
-                       array( 20061231235959,  60, 20070101005959 ),
-                       array( 20061231235959,  90, 20070101012959 ),
+               $userAdjust_tests = array(
+                       array( 20061231235959, 0, 20061231235959 ),
+                       array( 20061231235959, 5, 20070101000459 ),
+                       array( 20061231235959, 15, 20070101001459 ),
+                       array( 20061231235959, 60, 20070101005959 ),
+                       array( 20061231235959, 90, 20070101012959 ),
                        array( 20061231235959, 120, 20070101015959 ),
                        array( 20061231235959, 540, 20070101085959 ),
-                       array( 20061231235959,  -5, 20061231235459 ),
+                       array( 20061231235959, -5, 20061231235459 ),
                        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' );
-
-               $wgLocaltimezone = $timezone;
-               $wgLocalTZoffset = 0;
 
-               $this->assertEquals(
-                       strval( $expectedDate ),
-                       strval( $en->userAdjust( $inputDate, '' ) ),
-                       "User adjust {$inputDate} with timezone {$timezone} should give {$expectedDate}"
-               );
-       }
+               foreach ( $userAdjust_tests as $data ) {
+                       $wgLocalTZoffset = $data[1];
 
-       function dataUserAdjustWithTimezone() {
-               return array(
-                       array( 20111028233711, 'Europe/Warsaw', 20111029013711 ),
-                       array( 20111108205929, 'Europe/Warsaw', 20111108215929 ),
-               );
+                       $this->assertEquals(
+                               strval( $data[2] ),
+                               strval( $wgContLang->userAdjust( $data[0], '' ) ),
+                               "User adjust {$data[0]} by {$data[1]} minutes should give {$data[2]}"
+                       );
+               }
        }
-
 }