// During a test the request time is immutable. To allow tests of the
// algorithm of
// Drupal\Core\Field\Plugin\Field\FieldType\ChangedItem::preSave() we need
- // to set a real time value here.
+ // to set a real time value here. For the stability of the test, set the
+ // time of the original language to the current time plus just over one
+ // second to simulate two different request times.
+ // @todo mock the time service in https://www.drupal.org/node/2908210.
+ if ($this->getEntity()->language()->isDefault()) {
+ // Wait 1.1 seconds because time_sleep_until() is not reliable.
+ time_sleep_until(time() + 1.1);
+ }
$this->value = time();
}
}