class TimeMachine in Preview Link 2.x
Same name and namespace in other branches
- 2.0.x tests/modules/preview_link_test_time/src/TimeMachine.php \Drupal\preview_link_test_time\TimeMachine
Service used to simulate time.
Hierarchy
- class \Drupal\preview_link_test_time\TimeMachine implements TimeInterface
Expanded class hierarchy of TimeMachine
1 file declares its use of TimeMachine
- PreviewLinkSessionTokenTest.php in tests/
src/ Functional/ PreviewLinkSessionTokenTest.php
1 string reference to 'TimeMachine'
- preview_link_test_time.services.yml in tests/
modules/ preview_link_test_time/ preview_link_test_time.services.yml - tests/modules/preview_link_test_time/preview_link_test_time.services.yml
1 service uses TimeMachine
- datetime.time in tests/
modules/ preview_link_test_time/ preview_link_test_time.services.yml - Drupal\preview_link_test_time\TimeMachine
File
- tests/
modules/ preview_link_test_time/ src/ TimeMachine.php, line 13
Namespace
Drupal\preview_link_test_timeView source
class TimeMachine implements TimeInterface {
/**
* State.
*
* @var \Drupal\Core\State\StateInterface
*/
protected $state;
/**
* TimeMachine constructor.
*
* @param \Drupal\Core\State\StateInterface $state
* State.
*/
public function __construct(StateInterface $state) {
$this->state = $state;
}
/**
* {@inheritdoc}
*/
public function getRequestTime() {
return $this
->getTime()
->getTimestamp();
}
/**
* {@inheritdoc}
*/
public function getRequestMicroTime() {
return (double) $this
->getTime()
->getTimestamp();
}
/**
* {@inheritdoc}
*/
public function getCurrentTime() {
return $this
->getTime()
->getTimestamp();
}
/**
* {@inheritdoc}
*/
public function getCurrentMicroTime() {
return (double) $this
->getTime()
->getTimestamp();
}
/**
* Sets time.
*
* @param \DateTimeInterface $dateTime
* Sets the time.
*/
public function setTime(\DateTimeInterface $dateTime) {
if ($dateTime instanceof \DateTime) {
$dateTime = \DateTimeImmutable::createFromMutable($dateTime);
}
$this->state
->set('preview_link_test_time_machine', $dateTime);
}
/**
* Get the time from state.
*
* @returns \DateTimeImmutable
* The date time.
*
* @throws \LogicException
* When date time was not set.
*/
protected function getTime() {
$dateTime = $this->state
->get('preview_link_test_time_machine');
if (!isset($dateTime)) {
throw new \LogicException('Current date time not set.');
}
return $dateTime;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TimeMachine:: |
protected | property | State. | |
TimeMachine:: |
public | function |
Returns the current system time with microsecond precision. Overrides TimeInterface:: |
|
TimeMachine:: |
public | function |
Returns the current system time as an integer. Overrides TimeInterface:: |
|
TimeMachine:: |
public | function |
Returns the timestamp for the current request with microsecond precision. Overrides TimeInterface:: |
|
TimeMachine:: |
public | function |
Returns the timestamp for the current request. Overrides TimeInterface:: |
|
TimeMachine:: |
protected | function | Get the time from state. | |
TimeMachine:: |
public | function | Sets time. | |
TimeMachine:: |
public | function | TimeMachine constructor. |