You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2024/12/23 18:17:09 UTC
(struts) 01/01: Adds additional test cases to match Struts packages
This is an automated email from the ASF dual-hosted git repository.
lukaszlenart pushed a commit to branch feature/wildcard-packages
in repository https://gitbox.apache.org/repos/asf/struts.git
commit 3be56a4840b7c0ad63efb6becd41fe12077bad08
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Mon Dec 23 19:16:57 2024 +0100
Adds additional test cases to match Struts packages
---
.../apache/struts2/util/WildcardHelperTest.java | 84 ++++++++++++++--------
1 file changed, 55 insertions(+), 29 deletions(-)
diff --git a/core/src/test/java/org/apache/struts2/util/WildcardHelperTest.java b/core/src/test/java/org/apache/struts2/util/WildcardHelperTest.java
index be2a0a6b0..e856bfce8 100644
--- a/core/src/test/java/org/apache/struts2/util/WildcardHelperTest.java
+++ b/core/src/test/java/org/apache/struts2/util/WildcardHelperTest.java
@@ -24,34 +24,60 @@ import java.util.HashMap;
public class WildcardHelperTest extends XWorkTestCase {
- public void testMatch() {
-
- WildcardHelper wild = new WildcardHelper();
- HashMap<String, String> matchedPatterns = new HashMap<>();
- int[] pattern = wild.compilePattern("wes-rules");
- assertEquals(wild.match(matchedPatterns,"wes-rules", pattern), true);
- assertEquals(wild.match(matchedPatterns, "rules-wes", pattern), false);
-
- pattern = wild.compilePattern("wes-*");
- assertEquals(wild.match(matchedPatterns,"wes-rules", pattern), true);
- assertEquals("rules".equals(matchedPatterns.get("1")), true);
- assertEquals(wild.match(matchedPatterns, "rules-wes", pattern), false);
-
- pattern = wild.compilePattern("path/**/file");
- assertEquals(wild.match(matchedPatterns, "path/to/file", pattern), true);
- assertEquals("to".equals(matchedPatterns.get("1")), true);
- assertEquals(wild.match(matchedPatterns, "path/to/another/location/of/file", pattern), true);
- assertEquals("to/another/location/of".equals(matchedPatterns.get("1")), true);
-
- pattern = wild.compilePattern("path/*/file");
- assertEquals(wild.match(matchedPatterns, "path/to/file", pattern), true);
- assertEquals("to".equals(matchedPatterns.get("1")), true);
- assertEquals(wild.match(matchedPatterns, "path/to/another/location/of/file", pattern), false);
-
- pattern = wild.compilePattern("path/*/another/**/file");
- assertEquals(wild.match(matchedPatterns, "path/to/another/location/of/file", pattern), true);
- assertEquals("to".equals(matchedPatterns.get("1")), true);
- assertEquals("location/of".equals(matchedPatterns.get("2")), true);
- }
+ private WildcardHelper wildcardHelper;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+
+ wildcardHelper = new WildcardHelper();
+ }
+
+ public void testMatch() {
+ HashMap<String, String> matchedPatterns = new HashMap<>();
+ int[] pattern = wildcardHelper.compilePattern("wes-rules");
+ assertEquals(wildcardHelper.match(matchedPatterns, "wes-rules", pattern), true);
+ assertEquals(wildcardHelper.match(matchedPatterns, "rules-wes", pattern), false);
+
+ pattern = wildcardHelper.compilePattern("wes-*");
+ assertEquals(wildcardHelper.match(matchedPatterns, "wes-rules", pattern), true);
+ assertEquals("rules".equals(matchedPatterns.get("1")), true);
+ assertEquals(wildcardHelper.match(matchedPatterns, "rules-wes", pattern), false);
+
+ pattern = wildcardHelper.compilePattern("path/**/file");
+ assertEquals(wildcardHelper.match(matchedPatterns, "path/to/file", pattern), true);
+ assertEquals("to".equals(matchedPatterns.get("1")), true);
+ assertEquals(wildcardHelper.match(matchedPatterns, "path/to/another/location/of/file", pattern), true);
+ assertEquals("to/another/location/of".equals(matchedPatterns.get("1")), true);
+
+ pattern = wildcardHelper.compilePattern("path/*/file");
+ assertEquals(wildcardHelper.match(matchedPatterns, "path/to/file", pattern), true);
+ assertEquals("to".equals(matchedPatterns.get("1")), true);
+ assertEquals(wildcardHelper.match(matchedPatterns, "path/to/another/location/of/file", pattern), false);
+
+ pattern = wildcardHelper.compilePattern("path/*/another/**/file");
+ assertEquals(wildcardHelper.match(matchedPatterns, "path/to/another/location/of/file", pattern), true);
+ assertEquals("to".equals(matchedPatterns.get("1")), true);
+ assertEquals("location/of".equals(matchedPatterns.get("2")), true);
+ }
+
+ public void testMatchStrutsPackages() {
+ // given
+ HashMap<String, String> matchedPatterns = new HashMap<>();
+ int[] pattern = wildcardHelper.compilePattern("org.apache.struts2.*");
+
+ // when & then
+ assertTrue(wildcardHelper.match(matchedPatterns, "org.apache.struts2.XWorkTestCase", pattern));
+ assertEquals("org.apache.struts2.XWorkTestCase", matchedPatterns.get("0"));
+ assertEquals("XWorkTestCase", matchedPatterns.get("1"));
+
+ assertTrue(wildcardHelper.match(matchedPatterns, "org.apache.struts2.core.SomeClass", pattern));
+ assertEquals("org.apache.struts2.core.SomeClass", matchedPatterns.get("0"));
+ assertEquals("core.SomeClass", matchedPatterns.get("1"));
+
+ assertTrue(wildcardHelper.match(matchedPatterns, "org.apache.struts2.", pattern));
+ assertEquals("org.apache.struts2.", matchedPatterns.get("0"));
+ assertEquals("", matchedPatterns.get("1"));
+ }
}