Setting $wgContLang without changing $wgLanguageCode accordingly is a
very bad idea.
This caused about 20 exceptions when using LanguageCode set to 'fr'
on my installation:
"MWException: Error in MediaWikiLangTestCase::setUp(): $wgLanguageCode
('fr') is different from $wgContLang->getCode() (en)"
Follow-up of I2987db68 (2b0edc8).
Change-Id: I56d3f1bfc78d6a2e40460533524e82f360490206
45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
<?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]}"
|
||
);
|
||
}
|
||
}
|
||
}
|