diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java index 823945b597..695c1277dc 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java @@ -344,6 +344,9 @@ public class MockHttpServletResponse implements HttpServletResponse { @Override public void setLocale(Locale locale) { + if (locale == null) { + return; + } this.locale = locale; doAddHeaderValue(HttpHeaders.CONTENT_LANGUAGE, locale.toLanguageTag(), true); } diff --git a/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java b/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java index 907a5cfac9..08fda3f723 100644 --- a/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java +++ b/spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java @@ -85,6 +85,13 @@ class MockHttpServletResponseTests { assertThat(response.containsHeader(headerName)).isFalse(); } + @Test // gh-26493 + void setLocaleWithNullValue() { + assertThat(response.getLocale()).isEqualTo(Locale.getDefault()); + response.setLocale(null); + assertThat(response.getLocale()).isEqualTo(Locale.getDefault()); + } + @Test void setContentType() { String contentType = "test/plain"; diff --git a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java index 5af669a25e..0459dcb7db 100644 --- a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java +++ b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java @@ -344,6 +344,9 @@ public class MockHttpServletResponse implements HttpServletResponse { @Override public void setLocale(Locale locale) { + if (locale == null) { + return; + } this.locale = locale; doAddHeaderValue(HttpHeaders.CONTENT_LANGUAGE, locale.toLanguageTag(), true); }