summaryrefslogtreecommitdiff
path: root/t/inc/Language.t
diff options
context:
space:
mode:
Diffstat (limited to 't/inc/Language.t')
-rw-r--r--t/inc/Language.t62
1 files changed, 62 insertions, 0 deletions
diff --git a/t/inc/Language.t b/t/inc/Language.t
new file mode 100644
index 00000000..df5e491d
--- /dev/null
+++ b/t/inc/Language.t
@@ -0,0 +1,62 @@
+#!/usr/bin/env php
+<?php
+
+require 'Test.php';
+
+# Test offset usage for a given language::userAdjust
+function test_userAdjust( $langObj, $date, $offset, $expected ) {
+ global $wgLocalTZoffset;
+ $wgLocalTZoffset = $offset;
+
+ cmp_ok(
+ $langObj->userAdjust( $date, '' ),
+ '==',
+ $expected,
+ "User adjust $date by $offset minutes should give $expected"
+ );
+}
+
+# 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 ),
+);
+
+plan( 7 + count($userAdjust_tests) );
+
+require_ok( 'includes/Defines.php' );
+
+# require_ok() doesn't work for these, find out why
+define( 'MEDIAWIKI', 1 );
+require 'LocalSettings.php';
+require 'includes/DefaultSettings.php';
+
+# Create a language object
+require_ok( 'languages/Language.php' );
+require_ok( 'includes/Title.php' );
+$wgContLang = $en = Language::factory( 'en' );
+
+# We need an user to test the lang
+require_ok( 'includes/GlobalFunctions.php' );
+require_ok( 'includes/ProfilerStub.php' );
+require_ok( 'includes/Exception.php' );
+require_ok( 'includes/User.php' );
+global $wgUser;
+$wgUser = new User();
+
+# Launch tests for language::userAdjust
+foreach( $userAdjust_tests as $data ) {
+ test_userAdjust( $en, $data[0], $data[1], $data[2] );
+}
+
+/* vim: set filetype=php: */
+?>