Skip to content

Commit 5233cc2

Browse files
committed
Merge branch '6.1' into 6.2
* 6.1: fix typo in PULL_REQUEST_TEMPLATE.md Allow to disable lock without defining a resource [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame Fix deprecation notice when date argument is not nullable and null value is provided
2 parents 8ada246 + c5907fa commit 5233cc2

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

Controller/ArgumentResolver/DateTimeValueResolver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ public function resolve(Request $request, ArgumentMetadata $argument): array
6060
$format = $attribute->format;
6161
}
6262

63-
$date = false;
64-
6563
if (null !== $format) {
6664
$date = $class::createFromFormat($format, $value);
6765

@@ -73,7 +71,7 @@ public function resolve(Request $request, ArgumentMetadata $argument): array
7371
$value = '@'.$value;
7472
}
7573
try {
76-
$date = new $class($value);
74+
$date = new $class($value ?? 'now');
7775
} catch (\Exception) {
7876
$date = false;
7977
}

Tests/Controller/ArgumentResolver/DateTimeValueResolverTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,26 @@ public function testNullableWithEmptyAttribute()
119119
$this->assertNull($results[0]);
120120
}
121121

122+
/**
123+
* @dataProvider getTimeZones
124+
*/
125+
public function testNow(string $timezone)
126+
{
127+
date_default_timezone_set($timezone);
128+
$resolver = new DateTimeValueResolver();
129+
130+
$argument = new ArgumentMetadata('dummy', \DateTime::class, false, false, null, false);
131+
$request = self::requestWithAttributes(['dummy' => null]);
132+
133+
/** @var \Generator $results */
134+
$results = $resolver->resolve($request, $argument);
135+
$results = iterator_to_array($results);
136+
137+
$this->assertCount(1, $results);
138+
$this->assertEquals('0', $results[0]->diff(new \DateTimeImmutable())->format('%s'));
139+
$this->assertSame($timezone, $results[0]->getTimezone()->getName(), 'Default timezone');
140+
}
141+
122142
public function testPreviouslyConvertedAttribute()
123143
{
124144
$resolver = new DateTimeValueResolver();

0 commit comments

Comments
 (0)