mirror of
https://github.com/moodle/moodle.git
synced 2025-03-18 22:50:19 +01:00
MDL-76675 date: Only test all TZ names with PHPUNIT_LONGTEST enabled
It happens often that some timezone is renamed, split, added to the IANAs list of timezones (that, for PHP is kept updated by the php-timezonedb PECL extension). When the information coming from the extension changes, all the PHPUnit jobs in the world start failing (that's when CIs update their PHP images, when devs update their packages, ...). So, what we are doing here is to move that test that check for every single string existing to be run only when PHPUNIT_LONGTEST is enabled. That way only places running all tests will run that one. And every other run just will skip it. This corresponds to point 1 & 2 of the issue, lower impact in general and, still be able to enable the tests to run.
This commit is contained in:
parent
67bbf6c416
commit
8b31b8e8d0
@ -177,7 +177,18 @@ class date_test extends advanced_testcase {
|
||||
}
|
||||
}
|
||||
|
||||
public function test_timezone_lang_strings() {
|
||||
/**
|
||||
* We are only checking lang strings existence here, not code.
|
||||
*
|
||||
* @coversNothing
|
||||
*/
|
||||
public function test_timezone_all_lang_strings() {
|
||||
// We only run this test when PHPUNIT_LONGTEST is enabled, test_get_localised_timezone()
|
||||
// is already checking the names of a few, hopefully stable enough to be run always.
|
||||
if (!PHPUNIT_LONGTEST) {
|
||||
$this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
|
||||
}
|
||||
|
||||
$phpzones = DateTimeZone::listIdentifiers();
|
||||
$manager = get_string_manager();
|
||||
foreach ($phpzones as $tz) {
|
||||
@ -197,6 +208,12 @@ class date_test extends advanced_testcase {
|
||||
$result = core_date::get_localised_timezone('Pacific/Auckland');
|
||||
$this->assertSame('Pacific/Auckland', $result);
|
||||
|
||||
$result = core_date::get_localised_timezone('Europe/Madrid');
|
||||
$this->assertSame('Europe/Madrid', $result);
|
||||
|
||||
$result = core_date::get_localised_timezone('America/New_York');
|
||||
$this->assertSame('America/New_York', $result);
|
||||
|
||||
$result = core_date::get_localised_timezone('99');
|
||||
$this->assertSame('Server timezone (Pacific/Auckland)', $result);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user