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]