diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java index d13e7baf90e..c5034996c65 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java @@ -990,12 +990,14 @@ public class MockHttpServletRequest implements HttpServletRequest { try { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.ACCEPT_LANGUAGE, value.toString()); - setPreferredLocales(headers.getAcceptLanguageAsLocales()); + List locales = headers.getAcceptLanguageAsLocales(); + this.locales.clear(); + this.locales.addAll(locales); } catch (IllegalArgumentException ex) { - // Invalid Accept-Language format -> store plain header instead - doAddHeaderValue(name, value, true); + // Invalid Accept-Language format -> just store plain header } + doAddHeaderValue(name, value, true); } else { doAddHeaderValue(name, value, false); diff --git a/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletRequestTests.java b/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletRequestTests.java index 4c5c1030858..7865109c4ac 100644 --- a/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletRequestTests.java +++ b/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletRequestTests.java @@ -308,6 +308,7 @@ public class MockHttpServletRequestTests { List actual = Collections.list(request.getLocales()); assertEquals(Arrays.asList(Locale.forLanguageTag("fr-ch"), Locale.forLanguageTag("fr"), Locale.forLanguageTag("en"), Locale.forLanguageTag("de")), actual); + assertEquals(headerValue, request.getHeader("Accept-Language")); } @Test @@ -500,25 +501,25 @@ public class MockHttpServletRequestTests { } @Test - public void httpHeaderRfcFormatedDate() { + public void httpHeaderRfcFormattedDate() { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, "Tue, 21 Jul 2015 10:00:00 GMT"); assertEquals(1437472800000L, request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE)); } @Test - public void httpHeaderFirstVariantFormatedDate() { + public void httpHeaderFirstVariantFormattedDate() { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, "Tue, 21-Jul-15 10:00:00 GMT"); assertEquals(1437472800000L, request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE)); } @Test - public void httpHeaderSecondVariantFormatedDate() { + public void httpHeaderSecondVariantFormattedDate() { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, "Tue Jul 21 10:00:00 2015"); assertEquals(1437472800000L, request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE)); } @Test(expected = IllegalArgumentException.class) - public void httpHeaderFormatedDateError() { + public void httpHeaderFormattedDateError() { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, "This is not a date"); request.getDateHeader(HttpHeaders.IF_MODIFIED_SINCE); } diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java index 7552e9d9c39..e4c910b82c6 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java @@ -969,12 +969,14 @@ public class MockHttpServletRequest implements HttpServletRequest { try { HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.ACCEPT_LANGUAGE, value.toString()); - setPreferredLocales(headers.getAcceptLanguageAsLocales()); + List locales = headers.getAcceptLanguageAsLocales(); + this.locales.clear(); + this.locales.addAll(locales); } catch (IllegalArgumentException ex) { - // Invalid Accept-Language format -> store plain header instead - doAddHeaderValue(name, value, true); + // Invalid Accept-Language format -> just store plain header } + doAddHeaderValue(name, value, true); } else { doAddHeaderValue(name, value, false);