AcceptHeaderLocaleResolver keeps language match among supported locales

Issue: SPR-16599
This commit is contained in:
Juergen Hoeller
2018-03-16 14:17:50 +01:00
parent 7de2650a70
commit f8588e364a
4 changed files with 44 additions and 19 deletions

View File

@@ -72,6 +72,18 @@ public class AcceptHeaderLocaleContextResolverTests {
assertEquals(ENGLISH, this.resolver.resolveLocaleContext(exchange(GERMANY, US, UK)).getLocale());
}
@Test
public void resolvePreferredAgainstCountryIfPossible() {
this.resolver.setSupportedLocales(Arrays.asList(ENGLISH, UK));
assertEquals(UK, this.resolver.resolveLocaleContext(exchange(GERMANY, US, UK)).getLocale());
}
@Test
public void resolvePreferredAgainstLanguageWithMultipleSupportedLocales() {
this.resolver.setSupportedLocales(Arrays.asList(GERMAN, US));
assertEquals(GERMAN, this.resolver.resolveLocaleContext(exchange(GERMANY, US, UK)).getLocale());
}
@Test
public void resolveMissingAcceptLanguageHeader() {
MockServerHttpRequest request = MockServerHttpRequest.get("/").build();