Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace 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();});}}}