Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Illuminate\Foundation\Testing\Concerns;use Illuminate\Foundation\Testing\Wormhole;use Illuminate\Support\Carbon;trait InteractsWithTime{/*** Freeze time.** @param callable|null $callback* @return mixed*/public function freezeTime($callback = null){return $this->travelTo(Carbon::now(), $callback);}/*** Freeze time at the beginning of the current second.** @param callable|null $callback* @return mixed*/public function freezeSecond($callback = null){return $this->travelTo(Carbon::now()->startOfSecond(), $callback);}/*** Begin travelling to another time.** @param int $value* @return \Illuminate\Foundation\Testing\Wormhole*/public function travel($value){return new Wormhole($value);}/*** Travel to another time.** @param \DateTimeInterface|\Closure|\Illuminate\Support\Carbon|string|bool|null $date* @param callable|null $callback* @return mixed*/public function travelTo($date, $callback = null){Carbon::setTestNow($date);if ($callback) {return tap($callback($date), function () {Carbon::setTestNow();});}}/*** Travel back to the current time.** @return \DateTimeInterface*/public function travelBack(){return Wormhole::back();}}