You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by er...@apache.org on 2012/02/16 16:31:03 UTC
svn commit: r1245026 - in /james/imap/trunk/message/src:
main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java
Author: eric
Date: Thu Feb 16 15:31:02 2012
New Revision: 1245026
URL: http://svn.apache.org/viewvc?rev=1245026&view=rev
Log:
Fix to allow SearchTerms which USER flags, contributed by Oleg Zhurakousky (JAMES-1375)
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
james/imap/trunk/message/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java
Modified: james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java?rev=1245026&r1=1245025&r2=1245026&view=diff
==============================================================================
--- james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java (original)
+++ james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java Thu Feb 16 15:31:02 2012
@@ -188,7 +188,7 @@ public abstract class ImapRequestLineRea
* Reads an argument of type "atom" from the request.
*/
public String atom() throws DecodingException {
- return consumeWord(new ATOM_CHARValidator());
+ return consumeWord(new ATOM_CHARValidator(), true);
}
/**
Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java?rev=1245026&r1=1245025&r2=1245026&view=diff
==============================================================================
--- james/imap/trunk/message/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java (original)
+++ james/imap/trunk/message/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserNotTest.java Thu Feb 16 15:31:02 2012
@@ -19,11 +19,10 @@
package org.apache.james.imap.decode.parser;
-import static org.junit.Assert.assertEquals;
-
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
+import java.util.List;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
@@ -39,6 +38,8 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import static org.junit.Assert.assertEquals;
+
@RunWith(JMock.class)
public class SearchCommandParserNotTest {
@@ -114,6 +115,18 @@ public class SearchCommandParserNotTest
checkValid("Not NEW\r\n", key);
checkValid("not new\r\n", key);
}
+
+ @Test
+ public void testUserFlagsParsing() throws Exception {
+ ImapRequestLineReader reader = new ImapRequestStreamLineReader(
+ new ByteArrayInputStream("NOT (KEYWORD bar KEYWORD foo)".getBytes("US-ASCII")),
+ new ByteArrayOutputStream());
+ SearchKey key = parser.searchKey(null, reader, null, false);
+ List<SearchKey> keys = key.getKeys().get(0).getKeys();
+ assertEquals(2, keys.size());
+ assertEquals("bar", keys.get(0).getValue());
+ assertEquals("foo", keys.get(1).getValue());
+ }
private void checkValid(String input, final SearchKey key) throws Exception {
ImapRequestLineReader reader = new ImapRequestStreamLineReader(
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org