]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - t/inc/Language.t
MediaWiki 1.11.0
[autoinstalls/mediawiki.git] / t / inc / Language.t
1 #!/usr/bin/env php
2 <?php
3
4 require 'Test.php';
5
6 # Test offset usage for a given language::userAdjust
7 function test_userAdjust( $langObj, $date, $offset, $expected ) {
8         global $wgLocalTZoffset;
9         $wgLocalTZoffset = $offset;
10
11         cmp_ok(
12                 $langObj->userAdjust( $date, '' ),
13                 '==',
14                 $expected,
15                 "User adjust $date by $offset minutes should give $expected"
16         );
17 }
18
19 # Collection of parameters for Language_t_Offset.
20 # Format: date to be formatted, localTZoffset value, expected date
21 $userAdjust_tests = array(
22         array( 20061231235959,   0, 20061231235959 ),
23         array( 20061231235959,   5, 20070101000459 ),
24         array( 20061231235959,  15, 20070101001459 ),
25         array( 20061231235959,  60, 20070101005959 ),
26         array( 20061231235959,  90, 20070101012959 ),
27         array( 20061231235959, 120, 20070101015959 ),
28         array( 20061231235959, 540, 20070101085959 ),
29         array( 20061231235959,  -5, 20061231235459 ),
30         array( 20061231235959, -30, 20061231232959 ),
31         array( 20061231235959, -60, 20061231225959 ),
32 );
33
34 plan( 7 + count($userAdjust_tests) );
35
36 require_ok( 'includes/Defines.php' );
37
38 # require_ok() doesn't work for these, find out why
39 define( 'MEDIAWIKI', 1 );
40 require 'LocalSettings.php';
41 require 'includes/DefaultSettings.php';
42
43 # Create a language object
44 require_ok( 'languages/Language.php' );
45 require_ok( 'includes/Title.php' );
46 $wgContLang = $en = Language::factory( 'en' );
47
48 # We need an user to test the lang
49 require_ok( 'includes/GlobalFunctions.php' );
50 require_ok( 'includes/ProfilerStub.php' );
51 require_ok( 'includes/Exception.php' );
52 require_ok( 'includes/User.php' );
53 global $wgUser;
54 $wgUser = new User();
55
56 # Launch tests for language::userAdjust
57 foreach( $userAdjust_tests as $data ) {
58         test_userAdjust( $en, $data[0], $data[1], $data[2] ); 
59 }
60
61 /* vim: set filetype=php: */
62 ?>