joerghoh commented on code in PR #55:
URL: 
https://github.com/apache/sling-org-apache-sling-engine/pull/55#discussion_r1959590861


##########
src/test/java/org/apache/sling/engine/impl/SlingHttpServletResponseImplTest.java:
##########
@@ -107,8 +108,7 @@ public void testReset() {
         Mockito.verifyNoMoreInteractions(orig);
     }
 
-    @Test
-    public void testContentMethods() {
+    private String callTesteeAndGetLogMessage(String[] logMessages) {

Review Comment:
   just to be exact: 
   ```suggestion
       private String callTesteeAndGetRequestProgressTrackerMessage(String[] 
logMessages) {
   ```



##########
src/test/java/org/apache/sling/engine/impl/SlingHttpServletResponseImplTest.java:
##########
@@ -137,7 +137,32 @@ public void testContentMethods() {
 
         ArgumentCaptor<String> logCaptor = 
ArgumentCaptor.forClass(String.class);
         verify(requestProgressTracker, times(1)).log(logCaptor.capture());
-        String logMessage = logCaptor.getValue();
+        return logCaptor.getValue();
+    }
+
+    @Test
+    public void testRecursiveCalls() {
+
+        // build a string array which resembles the log of recursive includes 
(50 levels
+        // deep)
+        String[] recursivePartStrings = Arrays.copyOfRange(logMessages, 14, 
logMessages.length - 2);
+        String[] concatenatedArray = Stream.concat(Arrays.stream(logMessages), 
Arrays.stream(recursivePartStrings))
+                .toArray(String[]::new);
+        for (int i = 0; i < 50; i++) {
+            concatenatedArray = 
Stream.concat(Arrays.stream(concatenatedArray), 
Arrays.stream(recursivePartStrings))
+                    .toArray(String[]::new);
+        }
+
+        String logMessage = callTesteeAndGetLogMessage(concatenatedArray);

Review Comment:
   ```suggestion
           String logMessage = 
callTesteeAndGetRequestProgressTrackerMessage(concatenatedArray);
   ```



##########
src/test/java/org/apache/sling/engine/impl/SlingHttpServletResponseImplTest.java:
##########
@@ -137,7 +137,32 @@ public void testContentMethods() {
 
         ArgumentCaptor<String> logCaptor = 
ArgumentCaptor.forClass(String.class);
         verify(requestProgressTracker, times(1)).log(logCaptor.capture());
-        String logMessage = logCaptor.getValue();
+        return logCaptor.getValue();
+    }
+
+    @Test
+    public void testRecursiveCalls() {
+
+        // build a string array which resembles the log of recursive includes 
(50 levels
+        // deep)
+        String[] recursivePartStrings = Arrays.copyOfRange(logMessages, 14, 
logMessages.length - 2);
+        String[] concatenatedArray = Stream.concat(Arrays.stream(logMessages), 
Arrays.stream(recursivePartStrings))
+                .toArray(String[]::new);
+        for (int i = 0; i < 50; i++) {
+            concatenatedArray = 
Stream.concat(Arrays.stream(concatenatedArray), 
Arrays.stream(recursivePartStrings))
+                    .toArray(String[]::new);
+        }
+
+        String logMessage = callTesteeAndGetLogMessage(concatenatedArray);
+
+        // validate that the log message is cut off and only the last 
MAX_NR_OF_MESSAGES
+        // remain in the log message, check for the cut message
+        assertTrue(logMessage.contains("... cut 504 messages ..."));
+    }
+
+    @Test
+    public void testContentMethods() {
+        String logMessage = callTesteeAndGetLogMessage(logMessages);

Review Comment:
   ```suggestion
           String logMessage = 
callTesteeAndGetRequestProgressTrackerMessage(logMessages);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@sling.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to