.../EntityResource/EntityTest/EntityTestDateRangeTest.php | 8 +++----- core/modules/hal/src/Normalizer/TimestampItemNormalizer.php | 3 ++- .../src/Normalizer/DateTimeIso8601Normalizer.php | 4 ++-- .../src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php | 13 ++++++------- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/core/modules/datetime_range/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php b/core/modules/datetime_range/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php index 6ed5bd0..22044f5 100644 --- a/core/modules/datetime_range/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php +++ b/core/modules/datetime_range/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php @@ -51,15 +51,13 @@ public function setUp() { 'type' => 'daterange', 'entity_type' => static::$entityTypeId, 'settings' => ['datetime_type' => DateRangeItem::DATETIME_TYPE_ALLDAY], - ]) - ->save(); + ])->save(); FieldConfig::create([ 'field_name' => static::$fieldName, 'entity_type' => static::$entityTypeId, 'bundle' => $this->entity->bundle(), - ]) - ->save(); + ])->save(); // Reload entity so that it has the new field. $this->entity = $this->entityStorage->load($this->entity->id()); @@ -149,7 +147,7 @@ protected function assertNormalizationEdgeCases($method, Url $url, array $reques $message = "Unprocessable Entity: validation failed.\n{$fieldName}.0.end_value: This value should be of the correct primitive type.\n"; $this->assertResourceErrorResponse(422, $message, $response); - // @todo Test more edge cases in https://www.drupal.org/project/drupal/issues/2847041. + // @todo Expand in https://www.drupal.org/project/drupal/issues/2847041. } } diff --git a/core/modules/hal/src/Normalizer/TimestampItemNormalizer.php b/core/modules/hal/src/Normalizer/TimestampItemNormalizer.php index 1d53099..476e7f5 100644 --- a/core/modules/hal/src/Normalizer/TimestampItemNormalizer.php +++ b/core/modules/hal/src/Normalizer/TimestampItemNormalizer.php @@ -11,7 +11,8 @@ * * Overrides FieldItemNormalizer to * - during normalization, add the 'format' key to assist consumers - * - during denormalization, use \Drupal\serialization\Normalizer\TimestampNormalizer + * - during denormalization, use + * \Drupal\serialization\Normalizer\TimestampNormalizer */ class TimestampItemNormalizer extends FieldItemNormalizer { diff --git a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php index d579f96..de8143b 100644 --- a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php +++ b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php @@ -13,7 +13,7 @@ * * @see \Drupal\datetime\Plugin\Field\FieldType\DateTimeItem::DATETIME_TYPE_DATE * - * @todo Consider making "date only" a separate data type in Drupal 9. + * @todo Remove this in https://www.drupal.org/project/drupal/issues/2958416. */ class DateTimeIso8601Normalizer extends DateTimeNormalizer { @@ -55,7 +55,7 @@ public function denormalize($data, $class, $format = NULL, array $context = []) // @see \Drupal\datetime\Plugin\views\filter\Date::getOffset() // @see \Drupal\datetime\DateTimeComputed::getValue() $date->setTimezone(new \DateTimeZone('UTC')); - $date->setTime(0, 0, 0); + $date->setTime(12, 0, 0); return $date; } diff --git a/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php b/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php index 0a85f97..b5e6d1d 100644 --- a/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php +++ b/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php @@ -19,14 +19,13 @@ /** * Unit test coverage for the "datetime_iso8601" @DataType. * - * @group serialization - * @coversDefaultClass \Drupal\serialization\Normalizer\DateTimeIso8601Normalizer - * @see \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601 - * * Only tests the "date only" mode of DateTimeIso8601, because everything else * is handled by \Drupal\serialization\Normalizer\DateTimeNormalizer, for which * we have \Drupal\Tests\serialization\Unit\Normalizer\DateTimeNormalizerTest. * + * @coversDefaultClass \Drupal\serialization\Normalizer\DateTimeIso8601Normalizer + * @group serialization + * @see \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601 * @see \Drupal\datetime\Plugin\Field\FieldType\DateTimeItem::DATETIME_TYPE_DATE */ class DateTimeIso8601NormalizerTest extends UnitTestCase { @@ -88,7 +87,7 @@ public function testSupportsDenormalization() { /** * @covers ::normalize - * @dataProvider testNormalizeProvider + * @dataProvider providerTestNormalize */ public function testNormalize($parent_field_item_class, $datetime_type, $expected_format) { $formatted_string = $this->randomMachineName(); @@ -128,7 +127,7 @@ public function testNormalize($parent_field_item_class, $datetime_type, $expecte * * @return array */ - public function testNormalizeProvider() { + public function providerTestNormalize() { return [ // @see \Drupal\datetime\Plugin\Field\FieldType\DateTimeItem::DATETIME_TYPE_DATE 'datetime field, configured to store only date: must be handled by DateTimeIso8601Normalizer' => [ @@ -173,7 +172,7 @@ public function testDenormalizeValidFormats($value, $expected) { */ public function providerTestDenormalizeValidFormats() { $data = []; - $data["denormalized dates have the site's timezone"] = ['2016-11-06', new \DateTimeImmutable('2016-11-06T00:00:00+00:00')]; + $data["denormalized dates have the site's timezone"] = ['2016-11-06', new \DateTimeImmutable('2016-11-06T12:00:00+00:00')]; return $data; }