MDL-85563 phpunit: Clock API should always use Moodle system time

When using `clock::now()` the frozen cloxk and incrementing clock will now
always return a `DateTimeImmutable` that uses the configured Moodle system
time. In unit tests this will be Australia/Perth.

Before this change, it would sometimes be UCT.
This commit is contained in:
Neill Magill
2025-06-30 11:43:46 +01:00
parent c36274a15a
commit 76275dadf5
3 changed files with 10 additions and 2 deletions
+4
View File
@@ -781,6 +781,7 @@ final class advanced_test extends \advanced_testcase {
$this->assertEquals(0, $mockedclock->now()->getTimestamp());
$this->assertEquals(1, $newclock->now()->getTimestamp());
$this->assertEquals(2, $mockedclock->now()->getTimestamp());
$this->assertEquals('Australia/Perth', $newclock->now()->getTimezone()->getName());
// Specify a specific start time.
$newclock = $this->mock_clock_with_incrementing(12345);
@@ -792,6 +793,7 @@ final class advanced_test extends \advanced_testcase {
$this->assertEquals(12347, $mockedclock->now()->getTimestamp());
$this->assertEquals($newclock->time, $mockedclock->now()->getTimestamp());
$this->assertEquals('Australia/Perth', $newclock->now()->getTimezone()->getName());
}
/**
@@ -814,6 +816,7 @@ final class advanced_test extends \advanced_testcase {
$initialtime = $mockedclock->now()->getTimestamp();
$this->assertEquals($initialtime, $newclock->now()->getTimestamp());
$this->assertEquals($initialtime, $mockedclock->now()->getTimestamp());
$this->assertEquals('Australia/Perth', $newclock->now()->getTimezone()->getName());
// Specify a specific start time.
$newclock = $this->mock_clock_with_frozen(12345);
@@ -824,5 +827,6 @@ final class advanced_test extends \advanced_testcase {
$this->assertEquals($initialtime, $mockedclock->now());
$this->assertEquals($initialtime, $newclock->now());
$this->assertEquals($initialtime, $mockedclock->now());
$this->assertEquals('Australia/Perth', $newclock->now()->getTimezone()->getName());
}
}