summaryrefslogtreecommitdiff
path: root/maintenance/tests/TimeAdjustTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/tests/TimeAdjustTest.php')
-rw-r--r--maintenance/tests/TimeAdjustTest.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/maintenance/tests/TimeAdjustTest.php b/maintenance/tests/TimeAdjustTest.php
new file mode 100644
index 00000000..bbd697bf
--- /dev/null
+++ b/maintenance/tests/TimeAdjustTest.php
@@ -0,0 +1,40 @@
+<?php
+
+class TimeAdjustTest extends PHPUnit_Framework_TestCase {
+
+ public function setUp() {
+ $this->iniSet( 'precision', 15 );
+ }
+
+ # Test offset usage for a given language::userAdjust
+ function testUserAdjust() {
+ global $wgLocalTZoffset, $wgContLang, $wgUser;
+
+ $wgContLang = $en = Language::factory( 'en' );
+
+ # 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( $en->userAdjust( $data[0], '' ) ),
+ "User adjust {$data[0]} by {$data[1]} minutes should give {$data[2]}"
+ );
+ }
+ }
+}