From b23520c3094fbd6a0f8cbe8bc0cac48f56871466 Mon Sep 17 00:00:00 2001 From: yyfMichaelYan Date: Sat, 13 Nov 2021 15:01:50 -0600 Subject: [PATCH 1/3] Fix flaky test testDynamicAttributesSupport. --- .../freemarker/FreemarkerResultMockedTest.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java index 99cd4842a..f5d1cdfcc 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java @@ -113,15 +113,16 @@ public class FreemarkerResultMockedTest extends StrutsInternalTestCase { ActionMapping mapping = container.getInstance(ActionMapper.class).getMapping(request, configurationManager); dispatcher.serviceAction(request, response, mapping); - String expected = - "" - + "" - + "" - + ""; + String input1 = ""; + String input2 = ""; + String input34 = "" + + ""; String result = stringWriter.toString(); - - assertEquals(expected, result); + assertTrue(result.equals(input1 + input1 + input34) + || result.equals(input1 + input2 + input34) + || result.equals(input2 + input1 + input34) + || result.equals(input2 + input2 + input34)); } public void testManualListInTemplate() throws Exception { From e703e508723ad78d840c5a06bcc76873fbf29bae Mon Sep 17 00:00:00 2001 From: yyfMichaelYan Date: Mon, 15 Nov 2021 11:47:46 -0600 Subject: [PATCH 2/3] Changed the assertion for the expected and the result string. --- .../freemarker/FreemarkerResultMockedTest.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java index f5d1cdfcc..88e2c3a03 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java @@ -113,16 +113,11 @@ public class FreemarkerResultMockedTest extends StrutsInternalTestCase { ActionMapping mapping = container.getInstance(ActionMapper.class).getMapping(request, configurationManager); dispatcher.serviceAction(request, response, mapping); - String input1 = ""; - String input2 = ""; - String input34 = "" - + ""; - String result = stringWriter.toString(); - assertTrue(result.equals(input1 + input1 + input34) - || result.equals(input1 + input2 + input34) - || result.equals(input2 + input1 + input34) - || result.equals(input2 + input2 + input34)); + assertTrue((result.contains("") + || result.contains("")) + && result.endsWith("" + + "")); } public void testManualListInTemplate() throws Exception { From a2446b9d4c3882995127021b81ba60f2c3ab32a0 Mon Sep 17 00:00:00 2001 From: yyfMichaelYan Date: Tue, 16 Nov 2021 12:28:23 -0600 Subject: [PATCH 3/3] Updated assertion methods. --- .../freemarker/FreemarkerResultMockedTest.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java index 88e2c3a03..d05aa6d2f 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java @@ -38,6 +38,11 @@ import java.io.PrintWriter; import java.io.StringWriter; import static org.apache.struts2.views.jsp.AbstractUITagTest.normalize; +import static org.hamcrest.CoreMatchers.allOf; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.endsWith; +import static org.hamcrest.CoreMatchers.startsWith; +import static org.hamcrest.MatcherAssert.assertThat; public class FreemarkerResultMockedTest extends StrutsInternalTestCase { @@ -114,10 +119,11 @@ public class FreemarkerResultMockedTest extends StrutsInternalTestCase { dispatcher.serviceAction(request, response, mapping); String result = stringWriter.toString(); - assertTrue((result.contains("") - || result.contains("")) - && result.endsWith("" - + "")); + assertThat(result, allOf(startsWith("" + + ""))); } public void testManualListInTemplate() throws Exception {