You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2008/02/13 19:37:02 UTC

svn commit: r627559 - /geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java

Author: rickmcguire
Date: Wed Feb 13 10:36:58 2008
New Revision: 627559

URL: http://svn.apache.org/viewvc?rev=627559&view=rev
Log:
GERONIMO-3842 Incorrect Subject header encoding for long non-ascii line

Add some unit tests that catch this condition.    


Modified:
    geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java

Modified: geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java?rev=627559&r1=627558&r2=627559&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java (original)
+++ geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/test/java/javax/mail/internet/MimeUtilityTest.java Wed Feb 13 10:36:58 2008
@@ -144,6 +144,15 @@
         encoded = MimeUtility.encodeText(encodeString, "UTF-8", "B");
         assertEquals("=?UTF-8?B?IGjDqSEgw6DDqMO0dSAhISE=?=", encoded);
         assertEquals(encodeString, MimeUtility.decodeText(encoded));
+        
+        // this has multiple byte characters and is longer than the 76 character grouping, so this 
+        // hits a lot of different boundary conditions 
+        String subject = "\u03a0\u03a1\u03a2\u03a3\u03a4\u03a5\u03a6\u03a7 \u03a8\u03a9\u03aa\u03ab \u03ac\u03ad\u03ae\u03af\u03b0 \u03b1\u03b2\u03b3\u03b4\u03b5 \u03b6\u03b7\u03b8\u03b9\u03ba \u03bb\u03bc\u03bd\u03be\u03bf\u03c0 \u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7 \u03c8\u03c9\u03ca\u03cb\u03cd\u03ce \u03cf\u03d0\u03d1\u03d2";
+        encoded = MimeUtility.encodeText(subject, "utf-8", "Q"); 
+        assertEquals(subject, MimeUtility.decodeText(encoded));
+        
+        encoded = MimeUtility.encodeText(subject, "utf-8", "B"); 
+        assertEquals(subject, MimeUtility.decodeText(encoded));
     }