Author: rdonkin
Date: Thu Jul 23 11:14:27 2009
New Revision: 797016

URL: http://svn.apache.org/viewvc?rev=797016&view=rev
Log:
JSIEVE-57 Ensure whitespace prefixing is removed from string 
https://issues.apache.org/jira/browse/JSIEVE-57

Modified:
    james/jsieve/trunk/main/src/main/jjtree/sieve/sieve.jjt
    
james/jsieve/trunk/main/src/test/java/org/apache/jsieve/MultilineTextTest.java

Modified: james/jsieve/trunk/main/src/main/jjtree/sieve/sieve.jjt
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/main/src/main/jjtree/sieve/sieve.jjt?rev=797016&r1=797015&r2=797016&view=diff
==============================================================================
--- james/jsieve/trunk/main/src/main/jjtree/sieve/sieve.jjt (original)
+++ james/jsieve/trunk/main/src/main/jjtree/sieve/sieve.jjt Thu Jul 23 11:14:27 
2009
@@ -262,8 +262,10 @@
       builder.deleteCharAt(builder.length() - 1);
     } else if (null != multi_line) {
       builder=new StringBuilder(multi_line.image);
-      // remove prefixing 'text'
-      builder.delete(0,5);
+      // remove prefixing 'text' and whitespace
+      while (builder.length()>0 && builder.charAt(0) != '\n') {
+        builder.deleteCharAt(0);
+      }
       // remove suffixing newline-dot-newline
       builder.deleteCharAt(builder.length() - 1);
       builder.deleteCharAt(builder.length() - 1);

Modified: 
james/jsieve/trunk/main/src/test/java/org/apache/jsieve/MultilineTextTest.java
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/main/src/test/java/org/apache/jsieve/MultilineTextTest.java?rev=797016&r1=797015&r2=797016&view=diff
==============================================================================
--- 
james/jsieve/trunk/main/src/test/java/org/apache/jsieve/MultilineTextTest.java 
(original)
+++ 
james/jsieve/trunk/main/src/test/java/org/apache/jsieve/MultilineTextTest.java 
Thu Jul 23 11:14:27 2009
@@ -41,6 +41,17 @@
         ActionReject rejection = runRejectScript(script);        
         assertEquals(message, rejection.getMessage());
     }
+    
+    /**
+     * Tests that a multiline message is correctly passed when whitespace is 
inserted
+     * between the command and the content.
+     */
+    public void testRejectMultilineMessageWithWhitespace() throws Exception {
+        String message = "This is not a love song";
+        String script = "reject text: \t \t \n" + message + "\n.\n;";
+        ActionReject rejection = runRejectScript(script);        
+        assertEquals(message, rejection.getMessage());
+    }    
 
     private ActionReject runRejectScript(String script) throws SieveException, 
ParseException {
         MailAdapter mail = JUnitUtils.createMail();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to