diff options
Diffstat (limited to 'tests/phpunit/includes/TimeAdjustTest.php')
-rw-r--r-- | tests/phpunit/includes/TimeAdjustTest.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/phpunit/includes/TimeAdjustTest.php b/tests/phpunit/includes/TimeAdjustTest.php new file mode 100644 index 00000000..a58702b2 --- /dev/null +++ b/tests/phpunit/includes/TimeAdjustTest.php @@ -0,0 +1,45 @@ +<?php + +class TimeAdjustTest extends MediaWikiLangTestCase { + protected function setUp() { + parent::setUp(); + + $this->setMwGlobals( array( + 'wgLocalTZoffset' => null, + 'wgContLang' => Language::factory( 'en' ), + 'wgLanguageCode' => 'en', + ) ); + + $this->iniSet( 'precision', 15 ); + } + + # Test offset usage for a given language::userAdjust + function testUserAdjust() { + global $wgLocalTZoffset, $wgContLang; + + # Collection of parameters for Language_t_Offset. + # Format: date to be formatted, localTZoffset value, expected date + $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, -30, 20061231232959 ), + array( 20061231235959, -60, 20061231225959 ), + ); + + foreach ( $userAdjust_tests as $data ) { + $wgLocalTZoffset = $data[1]; + + $this->assertEquals( + strval( $data[2] ), + strval( $wgContLang->userAdjust( $data[0], '' ) ), + "User adjust {$data[0]} by {$data[1]} minutes should give {$data[2]}" + ); + } + } +} |