diff --git a/core/src/test/java/org/apache/struts2/config/providers/XmlConfigurationProviderInterceptorsTest.java b/core/src/test/java/org/apache/struts2/config/providers/XmlConfigurationProviderInterceptorsTest.java index d67fdfcc44..cc4f5ef2dc 100644 --- a/core/src/test/java/org/apache/struts2/config/providers/XmlConfigurationProviderInterceptorsTest.java +++ b/core/src/test/java/org/apache/struts2/config/providers/XmlConfigurationProviderInterceptorsTest.java @@ -29,6 +29,7 @@ import org.apache.struts2.config.entities.InterceptorStackConfig; import org.apache.struts2.config.entities.PackageConfig; import org.apache.struts2.interceptor.LoggingInterceptor; +import org.apache.struts2.interceptor.MethodFilterInterceptor; import org.apache.struts2.mock.MockInterceptor; import org.apache.struts2.config.StrutsXmlConfigurationProvider; import org.apache.struts2.interceptor.NoOpInterceptor; @@ -36,6 +37,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.Set; /** @@ -231,4 +233,17 @@ public void testInterceptorParamOverriding() throws Exception { } + public void testMultiLineCommaDelimitedParam() { + buildConfigurationProvider("org/apache/struts2/config/providers/struts-interceptor-multiline-params.xml"); + + PackageConfig pkg = configuration.getPackageConfig("default"); + + assertEquals(Set.of("input", "back", "cancel"), excludeMethodsOf(pkg.getActionConfigs().get("Defined"))); + assertEquals(Set.of("browse", "list"), excludeMethodsOf(pkg.getActionConfigs().get("Overridden"))); + } + + private static Set excludeMethodsOf(ActionConfig actionConfig) { + return ((MethodFilterInterceptor) actionConfig.getInterceptors().get(0).getInterceptor()).getExcludeMethodsSet(); + } + } diff --git a/core/src/test/resources/org/apache/struts2/config/providers/struts-interceptor-multiline-params.xml b/core/src/test/resources/org/apache/struts2/config/providers/struts-interceptor-multiline-params.xml new file mode 100644 index 0000000000..aef7364c6e --- /dev/null +++ b/core/src/test/resources/org/apache/struts2/config/providers/struts-interceptor-multiline-params.xml @@ -0,0 +1,52 @@ + + + + + + + + + + input, + back, + cancel + + + + + + + + + + + + browse, + list + + + + + +