Skip to content

Commit 327c4b9

Browse files
Merge branch '6.4' into 7.4
* 6.4: [RateLimiter] Fix retryAfter when consuming exactly all remaining tokens in FixedWindow and TokenBucket [RateLimiter] Fix retryAfter value on last token consume (SlidingWindow) [RateLimiter] Fix reservations outside the second fixed window [Filesystem] makePathRelative with existing files, remove ending / [Config][Routing] Fix exclude option being ignored for non-glob and PSR-4 resources [Serializer][Validator] Fix propertyPath in ConstraintViolationListNormalizer with MetadataAwareNameConverter [Messenger][Amqp] Don't use retry routing key when sending to failure transport [Messenger] Fix re-sending failed messages to a different failure transport [DependencyInjection] Fix #[AsTaggedItem] discovery through multi-level decoration chains [DependencyInjection] Fix PriorityTaggedServiceTrait not discovering #[AsTaggedItem] on decorated services [Mailer] Clarify the purpose of SentMessage's "message id" concept [TwigBridge] Fix Bootstrap 4 form error layout [Form] Fix merging POST params and files when collection entries have mismatched indices [Validator] Fix type error for non-array items when Unique::fields is set [HttpKernel] Fix default locale ignored when Accept-Language has no enabled-locale match [FrameworkBundle] Make `ConfigDebugCommand` use its container to resolve env vars [Console] Fix various completion edge cases [Messenger][AmazonSqs] Add test for default queue_name when not set in DSN path or options
2 parents f00c2db + 291e76d commit 327c4b9

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

EventListener/LocaleListener.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public function __construct(
3636
private bool $useAcceptLanguageHeader = false,
3737
private array $enabledLocales = [],
3838
) {
39+
$this->enabledLocales = $enabledLocales ? array_values(array_unique(array_merge([$defaultLocale], $enabledLocales))) : [];
3940
}
4041

4142
public function setDefaultLocale(KernelEvent $event): void

Tests/EventListener/LocaleListenerTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,20 @@ public function testRequestUnavailablePreferredLocaleFromAcceptLanguageHeader()
188188
$this->assertEquals('de', $request->getLocale());
189189
}
190190

191+
public function testDefaultLocaleReturnedWhenNoAcceptLanguageMatchAndDefaultLocaleIsNotFirstEnabledLocale()
192+
{
193+
$request = Request::create('/');
194+
$request->headers->set('Accept-Language', 'es;q=0.9,ja;q=0.8');
195+
196+
// 'de' is the default locale but is NOT first in enabled_locales
197+
$listener = new LocaleListener(new RequestStack(), 'de', null, true, ['it', 'fr', 'de']);
198+
$event = $this->getEvent($request);
199+
200+
$listener->setDefaultLocale($event);
201+
$listener->onKernelRequest($event);
202+
$this->assertEquals('de', $request->getLocale());
203+
}
204+
191205
public function testRequestNoLocaleFromAcceptLanguageHeader()
192206
{
193207
$request = Request::create('/');

0 commit comments

Comments
 (0)