You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/10/03 19:18:45 UTC

(grails-core) branch fix/mock-response-reset-stream updated: Cover charset chosen after mock response reset

This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch fix/mock-response-reset-stream
in repository https://gitbox.apache.org/repos/asf/grails-core.git


The following commit(s) were added to refs/heads/fix/mock-response-reset-stream by this push:
     new 8bd0204061 Cover charset chosen after mock response reset
8bd0204061 is described below

commit 8bd02040619010b99ab8545d110c343a90f8baa8
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Sat Oct 3 15:16:02 2026 -0400

    Cover charset chosen after mock response reset
    
    Write non-ASCII text after resetting a response that already used a
    writer and setting UTF-8, and assert the UTF-8 bytes. A writer opened
    during reset() would have captured the default encoding instead.
---
 .../testing/GrailsMockHttpServletResponseTests.groovy  | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/grails-test-suite-uber/src/test/groovy/org/grails/plugins/testing/GrailsMockHttpServletResponseTests.groovy b/grails-test-suite-uber/src/test/groovy/org/grails/plugins/testing/GrailsMockHttpServletResponseTests.groovy
index 623b655adb..ab33c435f3 100644
--- a/grails-test-suite-uber/src/test/groovy/org/grails/plugins/testing/GrailsMockHttpServletResponseTests.groovy
+++ b/grails-test-suite-uber/src/test/groovy/org/grails/plugins/testing/GrailsMockHttpServletResponseTests.groovy
@@ -18,6 +18,8 @@
  */
 package org.grails.plugins.testing
 
+import java.nio.charset.StandardCharsets
+
 import org.grails.plugins.testing.GrailsMockHttpServletResponse
 import org.grails.web.servlet.mvc.GrailsWebRequest
 import org.junit.jupiter.api.Test
@@ -72,6 +74,22 @@ class GrailsMockHttpServletResponseTests {
         }
     }
 
+    @Test
+    void testResetUsesCharacterEncodingChosenAfterReset() {
+        withBoundWebRequest { response, webRequest ->
+            webRequest.out.write('previous text')
+            response.flushBuffer()
+
+            response.reset()
+            response.characterEncoding = 'UTF-8'
+            String text = 'café €'
+            webRequest.out.write(text)
+            webRequest.out.flush()
+
+            assertArrayEquals text.getBytes(StandardCharsets.UTF_8), response.contentAsByteArray
+        }
+    }
+
     @Test
     void testResetReplacesACachedWebRequestWriterLazily() {
         withBoundWebRequest { response, webRequest ->