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

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 0211f1308bb75dfe51747ae9b7ee62add7c28132
Author: Jan-Eric Hellenberg <janeric.hellenb...@gmail.com>
AuthorDate: Fri Jan 3 14:25:41 2025 +0100

    James-4099 Refactor PrefixedRegex tests to work with different path 
delimiters
---
 .../mailbox/model/search/PrefixedRegexTest.java    | 344 +++++++++++----------
 1 file changed, 183 insertions(+), 161 deletions(-)

diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/search/PrefixedRegexTest.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/search/PrefixedRegexTest.java
index 03340f532f..644bad44be 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/search/PrefixedRegexTest.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/search/PrefixedRegexTest.java
@@ -25,6 +25,8 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.james.mailbox.model.MailboxFolderDelimiterAwareTest;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
 import com.google.re2j.Pattern;
@@ -32,16 +34,32 @@ import com.google.re2j.Pattern;
 import nl.jqno.equalsverifier.EqualsVerifier;
 
 class PrefixedRegexTest {
-    private static final char PATH_DELIMITER = '.';
+    @Nested
+    public class DotDelimiter extends TestBase {
+        @Override
+        public char folderDelimiter() {
+            return '.';
+        }
+    }
+
+    @Nested
+    public class SlashDelimiter extends TestBase {
+        @Override
+        public char folderDelimiter() {
+            return '/';
+        }
+    }
+
+    abstract static class TestBase extends MailboxFolderDelimiterAwareTest {
     private static final String PREFIX = "name";
     private static final String EMPTY_PREFIX = "";
 
     @Test
     public void shouldMatchBeanContract() {
         EqualsVerifier.forClass(PrefixedRegex.class)
-            .withIgnoredFields("pattern")
-            .withPrefabValues(Pattern.class, Pattern.compile("a"), 
Pattern.compile("b"))
-            .verify();
+                .withIgnoredFields("pattern")
+                .withPrefabValues(Pattern.class, Pattern.compile("a"), 
Pattern.compile("b"))
+                .verify();
     }
 
     @Test
@@ -50,7 +68,7 @@ class PrefixedRegexTest {
 
         try {
             executorService.submit(() -> {
-                PrefixedRegex prefixedRegex = new PrefixedRegex("", 
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%a", PATH_DELIMITER);
+                PrefixedRegex prefixedRegex = new PrefixedRegex("", 
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%a", folderDelimiter());
 
                 prefixedRegex.isExpressionMatch("aa%%%%%%%%%%%%%%%%");
             }).get(30, TimeUnit.SECONDS);
@@ -61,7 +79,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenOnlyFreeWildcard() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "*", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "*", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -70,7 +88,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenOnlyLocalWildcard() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "%", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "%", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -79,7 +97,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenFreeWildcardAtBeginning() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "*One", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "*One", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -88,7 +106,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenLocalWildcardAtBeginning() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "%One", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "%One", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -97,7 +115,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenFreeWildcardInMiddle() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "A*A", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "A*A", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -106,7 +124,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenLocalWildcardInMiddle() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "A%A", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "A%A", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -115,7 +133,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenFreeWildcardAtEnd() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "One*", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "One*", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -124,7 +142,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnTrueWhenLocalWildcardAtEnd() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "One%", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "One%", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -133,7 +151,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnFalseWhenEmptyExpression() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -142,7 +160,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnFalseWhenNullExpression() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, null, 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, null, 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -151,7 +169,7 @@ class PrefixedRegexTest {
 
     @Test
     void isWildShouldReturnFalseWhenNoWildcard() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "ONE", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "ONE", 
folderDelimiter());
 
         boolean actual = prefixedRegex.isWild();
 
@@ -160,16 +178,16 @@ class PrefixedRegexTest {
 
     @Test
     void getCombinedNameShouldWork() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "mailbox", 
folderDelimiter());
 
         String actual = prefixedRegex.getCombinedName();
 
-        assertThat(actual).isEqualTo("name.mailbox");
+        
assertThat(actual).isEqualTo(adjustToActiveFolderDelimiter("name.mailbox"));
     }
 
     @Test
     void getCombinedNameShouldWorkWhenEmptyExpression() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, "", 
folderDelimiter());
 
         String actual = prefixedRegex.getCombinedName();
 
@@ -180,7 +198,7 @@ class PrefixedRegexTest {
     void 
getCombinedNameShouldReturnEmptyStringWhenNullMailboxPathAndExpression() {
         String prefix = null;
         String regex = null;
-        PrefixedRegex prefixedRegex = new PrefixedRegex(prefix, regex, 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(prefix, regex, 
folderDelimiter());
 
         String actual = prefixedRegex.getCombinedName();
 
@@ -189,25 +207,28 @@ class PrefixedRegexTest {
 
     @Test
     void 
getCombinedNameShouldIgnoreDelimiterWhenPresentAtBeginningOfExpression() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, ".mailbox", 
PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX, 
adjustToActiveFolderDelimiter(".mailbox"), folderDelimiter());
 
         String actual = prefixedRegex.getCombinedName();
 
-        assertThat(actual).isEqualTo("name.mailbox");
+        
assertThat(actual).isEqualTo(adjustToActiveFolderDelimiter("name.mailbox"));
     }
 
     @Test
     void getCombinedNameShouldIgnoreDelimiterWhenPresentAtEndOfMailboxName() {
-        PrefixedRegex prefixedRegex = new PrefixedRegex(PREFIX + ".", 
".mailbox", PATH_DELIMITER);
+        PrefixedRegex prefixedRegex = new PrefixedRegex(
+                PREFIX + adjustToActiveFolderDelimiter("."),
+                adjustToActiveFolderDelimiter(".mailbox"),
+                folderDelimiter());
 
         String actual = prefixedRegex.getCombinedName();
 
-        assertThat(actual).isEqualTo("name.mailbox");
+        
assertThat(actual).isEqualTo(adjustToActiveFolderDelimiter("name.mailbox"));
     }
 
     @Test
     void isExpressionMatchShouldReturnFalseWhenNullExpression() {
-        PrefixedRegex testee = new PrefixedRegex(PREFIX, null, PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(PREFIX, null, 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder");
 
@@ -216,7 +237,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -225,25 +246,25 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenNameBeginsWithDelimiter() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch(".mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter(".mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void isExpressionMatchShouldReturnFalseWhenNameEndsWithDelimiter() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox."));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldNotMatchFolderWhenNoMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -252,7 +273,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchFolderWithExpandedEndName() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox123");
 
@@ -261,16 +282,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolder() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.123");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.123"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenEmptyNameAndExpression() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -279,16 +300,16 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyExpressionAndNameBeginsWithDelimiter()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch(".123");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter(".123"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldNotMatchFolderWhenEmptyExpression() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder");
 
@@ -297,7 +318,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenEmptyNameAndOnlyLocalWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -306,7 +327,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenOnlyLocalWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder");
 
@@ -315,16 +336,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolderWhenOnlyLocalWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenEmptyNameAndOnlyFreeWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -333,7 +354,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenOnlyFreeWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -342,16 +363,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenOnlyFreeWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndLocalWildcardAtEnd() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -360,7 +381,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenLocalWildcardAtEndAndNoMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -369,7 +390,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenLocalWildcardAtEndNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -378,7 +399,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldReturnTrueWhenLocalWildcardAtEndUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailboxsub");
 
@@ -387,16 +408,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolderWhenLocalWildcardAtEnd() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox%", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndLocalWildcardAtBeginning() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -405,7 +426,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenLocalWildcardAtBeginningAndNoMatching()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -414,7 +435,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenLocalWildcardAtBeginningNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -423,7 +444,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenLocalWildcardAtBeginningUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -432,25 +453,25 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchSubFolderWhenLocalWildcardAtBeginning() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenLocalWildcardAtBeginning() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -459,7 +480,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenLocalWildcardInMiddleAndMissingEndName() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -468,7 +489,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenLocalWildcardInMiddleAndMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -477,7 +498,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub123mailbox");
 
@@ -486,25 +507,25 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolderWhenLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchSubFolderWhenLocalWildcardInMiddleAndExpandedMiddleName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.123mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.123mailbox"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenLocalWildcardInMiddleAndMissingBeginningName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -513,25 +534,25 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("subw.hat.eve.rmailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subw.hat.eve.rmailbox"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenFreeWildcardAtEnd() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void isExpressionMatchShouldReturnFalseWhenEmptyNameAndFreeWildcardAtEnd() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -540,7 +561,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenFreeWildcardAtEndAndNoMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -549,7 +570,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenFreeWildcardAtEndNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -558,7 +579,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenFreeWildcardAtEndUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "mailbox*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox123");
 
@@ -567,7 +588,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndFreeWildcardAtBeginning() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -576,7 +597,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenFreeWildcardAtBeginningAndNoMatching() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -585,7 +606,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenFreeWildcardAtBeginningNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -594,7 +615,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenFreeWildcardAtBeginningUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -603,16 +624,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenFreeWildcardAtBeginning() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -621,7 +642,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenFreeWildcardInMiddleAndMissingEndName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -630,7 +651,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenFreeWildcardInMiddleNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -639,16 +660,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenFreeWildcardInMiddleNotUsedAndMissingBeginningName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -657,16 +678,16 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("subw.hat.eve.rmailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subw.hat.eve.rmailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndDoubleFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -675,7 +696,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenDoubleFreeWildcardInMiddleAndMissingEndName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -684,7 +705,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnTrueWhenDoubleFreeWildcardInMiddleNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -693,16 +714,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenDoubleFreeWildcardInMiddle() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenDoubleFreeWildcardInMiddleAndMissingBeginningName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -711,16 +732,16 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenDoubleFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub**mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("subw.hat.eve.rmailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subw.hat.eve.rmailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndFreeLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -729,7 +750,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenFreeLocalWildcardInMiddleAndMissingEndName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -738,7 +759,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenFreeLocalWildcardInMiddleNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -747,16 +768,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenFreeLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenFreeLocalWildcardInMiddleAndMissingBeginningName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -765,16 +786,16 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenFreeLocalWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub*%mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("subw.hat.eve.rmailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subw.hat.eve.rmailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldReturnFalseWhenEmptyNameAndLocalFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("");
 
@@ -783,7 +804,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenLocalFreeWildcardInMiddleAndMissingEndName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("sub");
 
@@ -792,7 +813,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenLocalFreewildcardInMiddleNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailbox");
 
@@ -801,16 +822,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenLocalFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenLocalFreeWildcardInMiddleAndMissingBeginningName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -819,16 +840,16 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenLocalFreeWildcardInMiddle() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "sub%*mailbox", 
folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("subw.hat.eve.rmailbox");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subw.hat.eve.rmailbox"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenMultipleFreeWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailboxsub");
 
@@ -837,52 +858,52 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenMultipleFreeWildcardsNotUsed()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailbox.sub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFolderWhenMultipleFreeWildcardsUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
-        boolean actual = 
testee.isExpressionMatch("subtosh.boshmailboxtosh.boshsubboshtosh");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("subtosh.boshmailboxtosh.boshsubboshtosh"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenMultipleFreeWildcardsAndMissingMiddleName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.a.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.a.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenMultipleFreeWildcardsAndMissingEndName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.a.submailbox.u");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.a.submailbox.u"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenMultipleFreeWildcardsAndMissingBeginningdName()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox*sub**", folderDelimiter());
 
-        boolean actual = 
testee.isExpressionMatch("utosh.boshmailboxtosh.boshsubasubboshtoshmailboxu");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("utosh.boshmailboxtosh.boshsubasubboshtoshmailboxu"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenMixedLocalFreeWildcardsNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub%mailbox*sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub%mailbox*sub", folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailboxsub");
 
@@ -891,16 +912,16 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolderWhenMixedLocalFreeWildcards() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub%mailbox*sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub%mailbox*sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailboxsub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailboxsub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchFolderWhenMixedFreeLocalWildcardsNotUsed() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailboxsub");
 
@@ -909,25 +930,25 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldMatchSubFolderWhenMixedFreeLocalWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailboxsub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailboxsub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void isExpressionMatchShouldNotMatchSubFolderWhenMixedFreeLocalWildcards() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("submailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("submailbox.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldMatchFolderWhenMixedFreeLocalWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("submailboxwhateversub");
 
@@ -936,43 +957,43 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchSubFolderEndingWithDelimiterWhenMixedFreeLocalWildcards()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("submailboxsub.Whatever.");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("submailboxsub.Whatever."));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenMixedFreeLocalWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailboxsub.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailboxsub.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldMatchSubFoldeWhenMixedFreeLocalWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("sub.mailboxsub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.mailboxsub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchDeeplyNestedFoldeWhenMixedFreeLocalWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"sub*mailbox%sub", folderDelimiter());
 
-        boolean actual = 
testee.isExpressionMatch("sub.whatever.mailbox123sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("sub.whatever.mailbox123sub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchFolderWhenTwoLocalPathDelimitedWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%.%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("%.%"), folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("mailbox");
 
@@ -981,52 +1002,52 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenTwoLocalPathDelimitedWildcards()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%.%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("%.%"), folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub.sub"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchSubFolderWhenTwoLocalPathDelimitedWildcards() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "%.%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("%.%"), folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("mailbox.sub");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("mailbox.sub"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldMatchSubFolderWhenFreeWildcardAndPathDelimiterAtBeginning()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*.test", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("*.test"), folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("blah.test");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("blah.test"));
 
         assertThat(actual).isTrue();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchSubFolderWhenWhenFreeWildcardAndPathDelimiterAtBeginning()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*.test", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("*.test"), folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("blah.test3");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("blah.test3"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void 
isExpressionMatchShouldNotMatchDeeplyNestedFolderWhenFreeWildcardAndPathDelimiterAtBeginning()
 {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "*.test", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
adjustToActiveFolderDelimiter("*.test"), folderDelimiter());
 
-        boolean actual = testee.isExpressionMatch("blah.test.go");
+        boolean actual = 
testee.isExpressionMatch(adjustToActiveFolderDelimiter("blah.test.go"));
 
         assertThat(actual).isFalse();
     }
 
     @Test
     void isExpressionMatchShouldIgnoreRegexInjection() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"folder^$!)(%3", PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, 
"folder^$!)(%3", folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder^$!)(123");
 
@@ -1035,7 +1056,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldIgnoreRegexInjectionWhenUsingEndOfQuoteAndNoMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Efo.", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Efo.", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("\\Efol");
 
@@ -1044,7 +1065,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldIgnoreRegexInjectionWhenUsingEndOfQuoteAndMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Efo.", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Efo.", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("\\Efo.");
 
@@ -1053,7 +1074,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldIgnoreRegexInjectionWhenUsingBeginOfQuoteAndNoMatching() 
{
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Qfo?", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Qfo?", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("\\Qfol");
 
@@ -1062,7 +1083,7 @@ class PrefixedRegexTest {
 
     @Test
     void 
isExpressionMatchShouldIgnoreRegexInjectionWhenUsingBeginOfQuoteAndMatching() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Qfo?", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "\\Qfo?", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("\\Qfo?");
 
@@ -1071,7 +1092,7 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotEscapeFreeWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "folder\\*", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "folder\\*", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder\\123");
 
@@ -1080,10 +1101,11 @@ class PrefixedRegexTest {
 
     @Test
     void isExpressionMatchShouldNotEscapeLocalWildcard() {
-        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "folder\\%", 
PATH_DELIMITER);
+        PrefixedRegex testee = new PrefixedRegex(EMPTY_PREFIX, "folder\\%", 
folderDelimiter());
 
         boolean actual = testee.isExpressionMatch("folder\\123");
 
         assertThat(actual).isTrue();
     }
+    }
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to