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