REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 1.96 KB
Close
/home/getspomw/royalsquad.us/vendor/symfony/clock/Test/ClockSensitiveTrait.php
Text
Base64
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Clock\Test; use PHPUnit\Framework\Attributes\After; use PHPUnit\Framework\Attributes\Before; use PHPUnit\Framework\Attributes\BeforeClass; use Symfony\Component\Clock\Clock; use Symfony\Component\Clock\ClockInterface; use Symfony\Component\Clock\MockClock; use function Symfony\Component\Clock\now; /** * Helps with mocking the time in your test cases. * * This trait provides one self::mockTime() method that freezes the time. * It restores the global clock after each test case. * self::mockTime() accepts either a string (eg '+1 days' or '2022-12-22'), * a DateTimeImmutable, or a boolean (to freeze/restore the global clock). * * @author Nicolas Grekas <p@tchwork.com> */ trait ClockSensitiveTrait { public static function mockTime(string|\DateTimeImmutable|bool $when = true): ClockInterface { Clock::set(match (true) { false === $when => self::saveClockBeforeTest(false), true === $when => new MockClock(), $when instanceof \DateTimeImmutable => new MockClock($when), default => new MockClock(now($when)), }); return Clock::get(); } /** * @beforeClass * * @before * * @internal */ #[Before] #[BeforeClass] public static function saveClockBeforeTest(bool $save = true): ClockInterface { static $originalClock; if ($save && $originalClock) { self::restoreClockAfterTest(); } return $save ? $originalClock = Clock::get() : $originalClock; } /** * @after * * @internal */ #[After] protected static function restoreClockAfterTest(): void { Clock::set(self::saveClockBeforeTest(false)); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 1
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ClockSensitiveTrait.php
1.96 KB
lrw-rw-rw-
2025-09-17 06:53:24
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).