trait 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
| Title Sort descending | Modifiers | Object type | Summary | 
|---|---|---|---|
| BcTimestampNormalizerUnixTestTrait::formatExpectedTimestampItemValues | protected | function | Formats a UNIX timestamp. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.