Browse Source

Merge branch '5.2.x'

pull/25507/head
Sam Brannen 6 years ago
parent
commit
58412affaa
  1. 1
      spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java
  2. 23
      spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java
  3. 1
      spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java

1
spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java

@ -331,6 +331,7 @@ public class MockHttpServletResponse implements HttpServletResponse { @@ -331,6 +331,7 @@ public class MockHttpServletResponse implements HttpServletResponse {
public void reset() {
resetBuffer();
this.characterEncoding = null;
this.charset = false;
this.contentLength = 0;
this.contentType = null;
this.locale = Locale.getDefault();

23
spring-test/src/test/java/org/springframework/mock/web/MockHttpServletResponseTests.java

@ -481,4 +481,27 @@ class MockHttpServletResponseTests { @@ -481,4 +481,27 @@ class MockHttpServletResponseTests {
assertThat(((MockCookie) cookie).getSameSite()).isEqualTo("Lax");
}
@Test // gh-25501
void resetResetsCharset() {
assertThat(response.isCharset()).isFalse();
response.setCharacterEncoding("UTF-8");
assertThat(response.isCharset()).isTrue();
assertThat(response.getCharacterEncoding()).isEqualTo("UTF-8");
response.setContentType("text/plain");
assertThat(response.getContentType()).isEqualTo("text/plain");
String contentTypeHeader = response.getHeader(CONTENT_TYPE);
assertThat(contentTypeHeader).isEqualTo("text/plain;charset=UTF-8");
response.reset();
assertThat(response.isCharset()).isFalse();
// Do not invoke setCharacterEncoding() since that sets the charset flag to true.
// response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain");
assertThat(response.isCharset()).isFalse(); // should still be false
assertThat(response.getContentType()).isEqualTo("text/plain");
contentTypeHeader = response.getHeader(CONTENT_TYPE);
assertThat(contentTypeHeader).isEqualTo("text/plain");
}
}

1
spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletResponse.java

@ -331,6 +331,7 @@ public class MockHttpServletResponse implements HttpServletResponse { @@ -331,6 +331,7 @@ public class MockHttpServletResponse implements HttpServletResponse {
public void reset() {
resetBuffer();
this.characterEncoding = null;
this.charset = false;
this.contentLength = 0;
this.contentType = null;
this.locale = Locale.getDefault();

Loading…
Cancel
Save