%PDF- %PDF-
Direktori : /home/silvzytp/calling_code/vendor/laravel/framework/src/Illuminate/Foundation/Testing/ |
Current File : //home/silvzytp/calling_code/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Wormhole.php |
<?php namespace Illuminate\Foundation\Testing; use Illuminate\Support\Carbon; class Wormhole { /** * The amount of time to travel. * * @var int */ public $value; /** * Create a new wormhole instance. * * @param int $value * @return void */ public function __construct($value) { $this->value = $value; } /** * Travel forward the given number of milliseconds. * * @param callable|null $callback * @return mixed */ public function millisecond($callback = null) { return $this->milliseconds($callback); } /** * Travel forward the given number of milliseconds. * * @param callable|null $callback * @return mixed */ public function milliseconds($callback = null) { Carbon::setTestNow(Carbon::now()->addMilliseconds($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of seconds. * * @param callable|null $callback * @return mixed */ public function second($callback = null) { return $this->seconds($callback); } /** * Travel forward the given number of seconds. * * @param callable|null $callback * @return mixed */ public function seconds($callback = null) { Carbon::setTestNow(Carbon::now()->addSeconds($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of minutes. * * @param callable|null $callback * @return mixed */ public function minute($callback = null) { return $this->minutes($callback); } /** * Travel forward the given number of minutes. * * @param callable|null $callback * @return mixed */ public function minutes($callback = null) { Carbon::setTestNow(Carbon::now()->addMinutes($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of hours. * * @param callable|null $callback * @return mixed */ public function hour($callback = null) { return $this->hours($callback); } /** * Travel forward the given number of hours. * * @param callable|null $callback * @return mixed */ public function hours($callback = null) { Carbon::setTestNow(Carbon::now()->addHours($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of days. * * @param callable|null $callback * @return mixed */ public function day($callback = null) { return $this->days($callback); } /** * Travel forward the given number of days. * * @param callable|null $callback * @return mixed */ public function days($callback = null) { Carbon::setTestNow(Carbon::now()->addDays($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of weeks. * * @param callable|null $callback * @return mixed */ public function week($callback = null) { return $this->weeks($callback); } /** * Travel forward the given number of weeks. * * @param callable|null $callback * @return mixed */ public function weeks($callback = null) { Carbon::setTestNow(Carbon::now()->addWeeks($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of months. * * @param callable|null $callback * @return mixed */ public function month($callback = null) { return $this->months($callback); } /** * Travel forward the given number of months. * * @param callable|null $callback * @return mixed */ public function months($callback = null) { Carbon::setTestNow(Carbon::now()->addMonths($this->value)); return $this->handleCallback($callback); } /** * Travel forward the given number of years. * * @param callable|null $callback * @return mixed */ public function year($callback = null) { return $this->years($callback); } /** * Travel forward the given number of years. * * @param callable|null $callback * @return mixed */ public function years($callback = null) { Carbon::setTestNow(Carbon::now()->addYears($this->value)); return $this->handleCallback($callback); } /** * Travel back to the current time. * * @return \DateTimeInterface */ public static function back() { Carbon::setTestNow(); return Carbon::now(); } /** * Handle the given optional execution callback. * * @param callable|null $callback * @return mixed */ protected function handleCallback($callback) { if ($callback) { return tap($callback(), function () { Carbon::setTestNow(); }); } } }