Skip to content

Commit 62e64a5

Browse files
committed
Merge branch '5.4' into 6.4
* 5.4: Fix typo use copy() instead of rename() on Windows test: kebab-case to snake_case [PropertyInfo] Handle collection in PhpStan same as PhpDoc [Messenger] Passing to `WorkerMessageRetriedEvent` envelope with actual stamps after sent
2 parents 9a60db0 + bc88da6 commit 62e64a5

File tree

16 files changed

+99
-15
lines changed

16 files changed

+99
-15
lines changed

src/Symfony/Bundle/FrameworkBundle/Command/SecretsDecryptToLocalCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ protected function configure(): void
4848
4949
<info>%command.full_name%</info>
5050
51-
When the option <info>--force</info> is provided, secrets that already exist in the local vault are overriden.
51+
When the <info>--force</info> option is provided, secrets that already exist in the local vault are overridden.
5252
5353
<info>%command.full_name% --force</info>
5454
EOF

src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,13 @@ private function write(string $file, string $data, ?int $expiresAt = null): bool
109109
touch($tmp, $expiresAt ?: time() + 31556952); // 1 year in seconds
110110
}
111111

112-
$success = rename($tmp, $file);
113-
$unlink = !$success;
112+
if ('\\' === \DIRECTORY_SEPARATOR) {
113+
$success = copy($tmp, $file);
114+
$unlink = true;
115+
} else {
116+
$success = rename($tmp, $file);
117+
$unlink = !$success;
118+
}
114119

115120
return $success;
116121
} finally {

src/Symfony/Component/Dotenv/Tests/DotenvTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -430,16 +430,16 @@ public function testHttpVarIsPartiallyOverridden()
430430
$this->assertSame('http_value', $_SERVER['HTTP_TEST_ENV_VAR']);
431431
}
432432

433-
public function testEnvVarIsOverriden()
433+
public function testEnvVarIsOverridden()
434434
{
435-
putenv('TEST_ENV_VAR_OVERRIDEN=original_value');
435+
putenv('TEST_ENV_VAR_OVERRIDDEN=original_value');
436436

437437
$dotenv = (new Dotenv())->usePutenv();
438-
$dotenv->populate(['TEST_ENV_VAR_OVERRIDEN' => 'new_value'], true);
438+
$dotenv->populate(['TEST_ENV_VAR_OVERRIDDEN' => 'new_value'], true);
439439

440-
$this->assertSame('new_value', getenv('TEST_ENV_VAR_OVERRIDEN'));
441-
$this->assertSame('new_value', $_ENV['TEST_ENV_VAR_OVERRIDEN']);
442-
$this->assertSame('new_value', $_SERVER['TEST_ENV_VAR_OVERRIDEN']);
440+
$this->assertSame('new_value', getenv('TEST_ENV_VAR_OVERRIDDEN'));
441+
$this->assertSame('new_value', $_ENV['TEST_ENV_VAR_OVERRIDDEN']);
442+
$this->assertSame('new_value', $_SERVER['TEST_ENV_VAR_OVERRIDDEN']);
443443
}
444444

445445
public function testMemorizingLoadedVarsNamesInSpecialVar()

src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public function testOverridingInternalAttributesUsingCurlOptions()
115115
$httpClient->request('POST', 'http://localhost:8057/', [
116116
'extra' => [
117117
'curl' => [
118-
\CURLOPT_PRIVATE => 'overriden private',
118+
\CURLOPT_PRIVATE => 'overridden private',
119119
],
120120
],
121121
]);

src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ public function testAcceptRangeOnUnsafeMethods()
344344
$this->assertEquals('none', $response->headers->get('Accept-Ranges'));
345345
}
346346

347-
public function testAcceptRangeNotOverriden()
347+
public function testAcceptRangeNotOverridden()
348348
{
349349
$request = Request::create('/', 'POST');
350350
$response = new BinaryFileResponse(__DIR__.'/File/Fixtures/test.gif', 200, ['Content-Type' => 'application/octet-stream']);

src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ public function testRequestNoLocaleFromAcceptLanguageHeader()
205205
$this->assertEquals('fr_FR', $request->getLocale());
206206
}
207207

208-
public function testRequestAttributeLocaleNotOverridenFromAcceptLanguageHeader()
208+
public function testRequestAttributeLocaleNotOverriddenFromAcceptLanguageHeader()
209209
{
210210
$request = Request::create('/');
211211
$request->attributes->set('_locale', 'it');

src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ public function testUninitializedSessionWithoutInitializedSession()
562562
$this->assertSame('60', $response->headers->getCacheControlDirective('s-maxage'));
563563
}
564564

565-
public function testResponseHeadersMaxAgeAndExpiresNotBeOverridenIfSessionStarted()
565+
public function testResponseHeadersMaxAgeAndExpiresNotBeOverriddenIfSessionStarted()
566566
{
567567
$session = $this->createMock(Session::class);
568568
$session->expects($this->once())->method('getUsageIndex')->willReturn(1);

src/Symfony/Component/Messenger/EventListener/SendFailedMessageForRetryListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public function onMessageFailed(WorkerMessageFailedEvent $event)
7878
$retryEnvelope = $this->withLimitedHistory($envelope, new DelayStamp($delay), new RedeliveryStamp($retryCount));
7979

8080
// re-send the message for retry
81-
$this->getSenderForTransport($event->getReceiverName())->send($retryEnvelope);
81+
$retryEnvelope = $this->getSenderForTransport($event->getReceiverName())->send($retryEnvelope);
8282

8383
$this->eventDispatcher?->dispatch(new WorkerMessageRetriedEvent($retryEnvelope, $event->getReceiverName()));
8484
} else {

src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
use Psr\EventDispatcher\EventDispatcherInterface;
1717
use Symfony\Component\Messenger\Envelope;
1818
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
19+
use Symfony\Component\Messenger\Event\WorkerMessageRetriedEvent;
1920
use Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener;
2021
use Symfony\Component\Messenger\Exception\RecoverableMessageHandlingException;
2122
use Symfony\Component\Messenger\Retry\RetryStrategyInterface;
2223
use Symfony\Component\Messenger\Stamp\DelayStamp;
2324
use Symfony\Component\Messenger\Stamp\RedeliveryStamp;
25+
use Symfony\Component\Messenger\Stamp\TransportMessageIdStamp;
2426
use Symfony\Component\Messenger\Transport\Sender\SenderInterface;
2527

2628
class SendFailedMessageForRetryListenerTest extends TestCase
@@ -190,4 +192,47 @@ public function testEnvelopeKeepOnlyTheLast10Stamps()
190192

191193
$listener->onMessageFailed($event);
192194
}
195+
196+
public function testRetriedEnvelopePassesToRetriedEvent()
197+
{
198+
$exception = new \Exception('no!');
199+
$envelope = new Envelope(new \stdClass());
200+
201+
$sender = $this->createMock(SenderInterface::class);
202+
$sender->expects($this->once())->method('send')->willReturnCallback(static function (Envelope $envelope) {
203+
return $envelope->with(new TransportMessageIdStamp(123));
204+
});
205+
206+
$eventDispatcher = $this->createMock(EventDispatcherInterface::class);
207+
$eventDispatcher->expects($this->once())->method('dispatch')->willReturnCallback(
208+
function (WorkerMessageRetriedEvent $retriedEvent) {
209+
$envelope = $retriedEvent->getEnvelope();
210+
211+
$transportIdStamp = $envelope->last(TransportMessageIdStamp::class);
212+
$this->assertNotNull($transportIdStamp);
213+
214+
return $retriedEvent;
215+
});
216+
217+
$senderLocator = new Container();
218+
$senderLocator->set('my_receiver', $sender);
219+
220+
$retryStrategy = $this->createMock(RetryStrategyInterface::class);
221+
$retryStrategy->expects($this->once())->method('isRetryable')->willReturn(true);
222+
$retryStrategy->expects($this->once())->method('getWaitingTime')->willReturn(1000);
223+
224+
$retryStrategyLocator = new Container();
225+
$retryStrategyLocator->set('my_receiver', $retryStrategy);
226+
227+
$listener = new SendFailedMessageForRetryListener(
228+
$senderLocator,
229+
$retryStrategyLocator,
230+
null,
231+
$eventDispatcher
232+
);
233+
234+
$event = new WorkerMessageFailedEvent($envelope, 'my_receiver', $exception);
235+
236+
$listener->onMessageFailed($event);
237+
}
193238
}

src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
1616
use Symfony\Component\PropertyInfo\Tests\Fixtures\Dummy;
17+
use Symfony\Component\PropertyInfo\Tests\Fixtures\DummyCollection;
1718
use Symfony\Component\PropertyInfo\Tests\Fixtures\ParentDummy;
1819
use Symfony\Component\PropertyInfo\Tests\Fixtures\Php80Dummy;
1920
use Symfony\Component\PropertyInfo\Tests\Fixtures\PseudoTypeDummy;
@@ -134,6 +135,7 @@ public static function typesProvider()
134135
['arrayOfMixed', [new Type(Type::BUILTIN_TYPE_ARRAY, false, null, true, new Type(Type::BUILTIN_TYPE_STRING), null)], null, null],
135136
['listOfStrings', [new Type(Type::BUILTIN_TYPE_ARRAY, false, null, true, new Type(Type::BUILTIN_TYPE_INT), new Type(Type::BUILTIN_TYPE_STRING))], null, null],
136137
['self', [new Type(Type::BUILTIN_TYPE_OBJECT, false, Dummy::class)], null, null],
138+
['collectionAsObject', [new Type(Type::BUILTIN_TYPE_OBJECT, false, DummyCollection::class, true, [new Type(Type::BUILTIN_TYPE_INT)], [new Type(Type::BUILTIN_TYPE_STRING)])], null, null],
137139
];
138140
}
139141

0 commit comments

Comments
 (0)