Tentative test to prove JSIEVE-19.
authorStefano Bagnara <bago@apache.org>
Sat, 10 May 2008 12:29:54 +0000 (12:29 +0000)
committerStefano Bagnara <bago@apache.org>
Sat, 10 May 2008 12:29:54 +0000 (12:29 +0000)
Not sure this should work this way but I wrote it so I preferred to commit it before leaving, so others (with better sieve knowledge) can better overview the issue.

git-svn-id: https://svn.apache.org/repos/asf/james/jsieve/trunk@655068 13f79535-47bb-0310-9956-ffa450edef68

src/test/java/org/apache/jsieve/junit/HeaderTest.java

index 1e2cdde..8fdbfb6 100644 (file)
@@ -330,5 +330,27 @@ public class HeaderTest extends TestCase {
         }
         assertTrue(isTestPassed);
     }
+    
+    /**
+     * Test for square brackets in matching headers
+     * When the "[" is in the first char of the pattern it does not matches.
+     * 
+     * @see http://issues.apache.org/jira/browse/JSIEVE-19
+     */
+    public void testSquareBracketsInMatch() {
+        boolean isTestPassed = false;
+        String script = "if header :matches \"X-Caffeine\" \"[test]*\" {throwTestException;}";
+        try {
+            SieveMailAdapter mail = (SieveMailAdapter) JUnitUtils.createMail();
+            mail.getMessage().addHeader("X-Caffeine", "[test] my subject");
+            JUnitUtils.interpret(mail, script);
+        } catch (MessagingException e) {
+        } catch (ThrowTestException.TestException e) {
+            isTestPassed = true;
+        } catch (ParseException e) {
+        } catch (SieveException e) {
+        }
+        assertTrue(isTestPassed);
+    }
 
 }