trait BcTimestampNormalizerUnixTestTrait in Drupal 8
Same name and namespace in other branches
- 9 core/modules/rest/tests/src/Functional/BcTimestampNormalizerUnixTestTrait.php \Drupal\Tests\rest\Functional\BcTimestampNormalizerUnixTestTrait
Trait for ResourceTestBase subclasses formatting expected timestamp data.
Hierarchy
- trait \Drupal\Tests\rest\Functional\BcTimestampNormalizerUnixTestTrait
21 files declare their use of BcTimestampNormalizerUnixTestTrait
- BlockContentResourceTestBase.php in core/
modules/ block_content/ tests/ src/ Functional/ Rest/ BlockContentResourceTestBase.php - CommentResourceTestBase.php in core/
modules/ comment/ tests/ src/ Functional/ Rest/ CommentResourceTestBase.php - ContactFormResourceTestBase.php in core/
modules/ contact/ tests/ src/ Functional/ Rest/ ContactFormResourceTestBase.php - EntitySerializationTest.php in core/
modules/ serialization/ tests/ src/ Kernel/ EntitySerializationTest.php - EntityTestBundleResourceTestBase.php in core/
modules/ system/ tests/ modules/ entity_test/ tests/ src/ Functional/ Rest/ EntityTestBundleResourceTestBase.php
File
- core/
modules/ rest/ tests/ src/ Functional/ BcTimestampNormalizerUnixTestTrait.php, line 8
Namespace
Drupal\Tests\rest\FunctionalView source
trait BcTimestampNormalizerUnixTestTrait {
/**
* Formats a UNIX timestamp.
*
* Depending on the 'bc_timestamp_normalizer_unix' setting. The return will be
* an RFC3339 date string or the same timestamp that was passed in.
*
* @param int $timestamp
* The timestamp value to format.
*
* @return string|int
* The formatted RFC3339 date string or UNIX timestamp.
*
* @see \Drupal\serialization\Normalizer\TimestampItemNormalizer
*/
protected function formatExpectedTimestampItemValues($timestamp) {
// If the setting is enabled, just return the timestamp as-is now.
if ($this
->config('serialization.settings')
->get('bc_timestamp_normalizer_unix')) {
return [
'value' => $timestamp,
];
}
// Otherwise, format the date string to the same that
// \Drupal\serialization\Normalizer\TimestampItemNormalizer will produce.
$date = new \DateTime();
$date
->setTimestamp($timestamp);
// Per \Drupal\Core\TypedData\Plugin\DataType\Timestamp::getDateTime(), they
// default to string representations in the UTC timezone.
$date
->setTimezone(new \DateTimeZone('UTC'));
// Format is also added to the expected return values.
return [
'value' => $date
->format(\DateTime::RFC3339),
'format' => \DateTime::RFC3339,
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BcTimestampNormalizerUnixTestTrait:: |
protected | function | Formats a UNIX timestamp. |