You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by mw...@apache.org on 2009/02/27 17:45:03 UTC
svn commit: r748583 [2/2] - in /james/mime4j/trunk/src:
main/java/org/apache/james/mime4j/field/
main/java/org/apache/james/mime4j/message/
main/java/org/apache/james/mime4j/parser/
main/java/org/apache/james/mime4j/util/ test/java/org/apache/james/mim...
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/field/FieldsTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/field/FieldsTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/field/FieldsTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/field/FieldsTest.java Fri Feb 27 16:45:02 2009
@@ -30,6 +30,8 @@
import org.apache.james.mime4j.field.address.Group;
import org.apache.james.mime4j.field.address.Mailbox;
import org.apache.james.mime4j.parser.Field;
+import org.apache.james.mime4j.util.ByteSequence;
+import org.apache.james.mime4j.util.ContentUtil;
import org.apache.james.mime4j.util.MimeUtil;
public class FieldsTest extends TestCase {
@@ -43,7 +45,7 @@
String expectedRaw = "Content-Type: multipart/mixed;\r\n "
+ "boundary=\"-=Part.0.37877968dd4f6595.11eccf0271c"
+ ".2dce5678cbc933d5=-\"";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testContentTypeStringParameters() throws Exception {
@@ -57,7 +59,7 @@
String expectedRaw = "Content-Type: multipart/mixed;\r\n "
+ "boundary=\"-=Part.0.37877968dd4f6595.11eccf0271c"
+ ".2dce5678cbc933d5=-\"";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testContentTypeStringParametersWithSpaces() throws Exception {
@@ -69,7 +71,7 @@
String expectedRaw = "Content-Type: multipart/mixed; "
+ "param=\"value with space chars\"";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testContentTypeStringNullParameters() throws Exception {
@@ -77,7 +79,7 @@
assertTrue(field.isValidField());
String expectedRaw = "Content-Type: text/plain";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testInvalidContentType() throws Exception {
@@ -94,7 +96,8 @@
.contentTransferEncoding("base64");
assertTrue(field.isValidField());
- assertEquals("Content-Transfer-Encoding: base64", field.getRaw());
+ assertEquals("Content-Transfer-Encoding: base64",
+ decode(field.getRaw()));
}
public void testContentDispositionString() throws Exception {
@@ -106,7 +109,7 @@
String expectedRaw = "Content-Disposition: inline; filename="
+ "\"testing 1 2.dat\"; size=12345;\r\n creation-date="
+ "\"Thu, 1 Jan 1970 00:00:00 +0000\"";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testContentDispositionStringParameters() throws Exception {
@@ -119,7 +122,7 @@
String expectedRaw = "Content-Disposition: attachment; "
+ "creation-date=\"Thu, 1 Jan 1970 00:00:00\r\n +0000\"";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
assertEquals(new Date(0), field.getCreationDate());
}
@@ -130,7 +133,7 @@
assertTrue(field.isValidField());
String expectedRaw = "Content-Disposition: inline";
- assertEquals(expectedRaw, field.getRaw());
+ assertEquals(expectedRaw, decode(field.getRaw()));
}
public void testContentDispositionFilename() throws Exception {
@@ -154,7 +157,8 @@
public void testContentDispositionFilenameSizeDate() throws Exception {
ContentDispositionField field = Fields.contentDisposition("attachment",
- "some file.dat", 300, new Date(1000), new Date(2000), new Date(3000));
+ "some file.dat", 300, new Date(1000), new Date(2000), new Date(
+ 3000));
assertTrue(field.isValidField());
assertEquals("attachment", field.getDispositionType());
@@ -178,15 +182,16 @@
.getTimeZone("GMT"));
assertTrue(field.isValidField());
- assertEquals("Date: Thu, 1 Jan 1970 00:00:00 +0000", field.getRaw());
+ assertEquals("Date: Thu, 1 Jan 1970 00:00:00 +0000", decode(field
+ .getRaw()));
assertEquals(new Date(0), field.getDate());
field = Fields.date("Resent-Date", new Date(0), TimeZone
.getTimeZone("GMT+1"));
assertTrue(field.isValidField());
- assertEquals("Resent-Date: Thu, 1 Jan 1970 01:00:00 +0100", field
- .getRaw());
+ assertEquals("Resent-Date: Thu, 1 Jan 1970 01:00:00 +0100",
+ decode(field.getRaw()));
assertEquals(new Date(0), field.getDate());
}
@@ -196,38 +201,39 @@
.getTimeZone("CET"));
assertTrue(field.isValidField());
- assertEquals("Date: Wed, 16 Jul 2008 17:12:33 +0200", field.getRaw());
+ assertEquals("Date: Wed, 16 Jul 2008 17:12:33 +0200", decode(field
+ .getRaw()));
assertEquals(new Date(millis), field.getDate());
}
public void testMessageId() throws Exception {
Field messageId = Fields.messageId("acme.org");
- String raw = messageId.getRaw();
+ String raw = ContentUtil.decode(messageId.getRaw());
assertTrue(raw.startsWith("Message-ID: <Mime4j."));
assertTrue(raw.endsWith("@acme.org>"));
}
public void testSubject() throws Exception {
- assertEquals("Subject: ", Fields.subject("").getRaw());
- assertEquals("Subject: test", Fields.subject("test").getRaw());
- assertEquals("Subject: =?ISO-8859-1?Q?Sm=F8rebr=F8d?=", Fields.subject(
- "Sm\370rebr\370d").getRaw());
+ assertEquals("Subject: ", decode(Fields.subject("").getRaw()));
+ assertEquals("Subject: test", decode(Fields.subject("test").getRaw()));
+ assertEquals("Subject: =?ISO-8859-1?Q?Sm=F8rebr=F8d?=", decode(Fields
+ .subject("Sm\370rebr\370d").getRaw()));
String seventyEight = "12345678901234567890123456789012345678901234567890123456789012345678";
- assertEquals("Subject:\r\n " + seventyEight, Fields.subject(
- seventyEight).getRaw());
+ assertEquals("Subject:\r\n " + seventyEight, decode(Fields.subject(
+ seventyEight).getRaw()));
String seventyNine = seventyEight + "9";
String expected = "Subject: =?US-ASCII?Q?1234567890123456789012345678901234?="
+ "\r\n =?US-ASCII?Q?56789012345678901234567890123456789?=";
- assertEquals(expected, Fields.subject(seventyNine).getRaw());
+ assertEquals(expected, decode(Fields.subject(seventyNine).getRaw()));
}
public void testSender() throws Exception {
MailboxField field = Fields.sender(Mailbox
.parse("JD <jo...@acme.org>"));
- assertEquals("Sender: JD <jo...@acme.org>", field.getRaw());
+ assertEquals("Sender: JD <jo...@acme.org>", decode(field.getRaw()));
}
public void testFrom() throws Exception {
@@ -235,15 +241,15 @@
Mailbox mailbox2 = Mailbox.parse("Mary Smith <ma...@example.net>");
MailboxListField field = Fields.from(mailbox1);
- assertEquals("From: JD <jo...@acme.org>", field.getRaw());
+ assertEquals("From: JD <jo...@acme.org>", decode(field.getRaw()));
field = Fields.from(mailbox1, mailbox2);
assertEquals("From: JD <jo...@acme.org>, "
- + "Mary Smith <ma...@example.net>", field.getRaw());
+ + "Mary Smith <ma...@example.net>", decode(field.getRaw()));
field = Fields.from(Arrays.asList(mailbox1, mailbox2));
assertEquals("From: JD <jo...@acme.org>, "
- + "Mary Smith <ma...@example.net>", field.getRaw());
+ + "Mary Smith <ma...@example.net>", decode(field.getRaw()));
}
public void testTo() throws Exception {
@@ -254,17 +260,17 @@
AddressListField field = Fields.to(group);
assertEquals("To: The Does: JD <jo...@acme.org>, "
- + "jane.doe@example.org;", field.getRaw());
+ + "jane.doe@example.org;", decode(field.getRaw()));
field = Fields.to(group, mailbox3);
assertEquals("To: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
field = Fields.to(Arrays.asList(group, mailbox3));
assertEquals("To: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
}
public void testCc() throws Exception {
@@ -275,17 +281,17 @@
AddressListField field = Fields.cc(group);
assertEquals("Cc: The Does: JD <jo...@acme.org>, "
- + "jane.doe@example.org;", field.getRaw());
+ + "jane.doe@example.org;", decode(field.getRaw()));
field = Fields.cc(group, mailbox3);
assertEquals("Cc: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
field = Fields.cc(Arrays.asList(group, mailbox3));
assertEquals("Cc: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
}
public void testBcc() throws Exception {
@@ -296,17 +302,17 @@
AddressListField field = Fields.bcc(group);
assertEquals("Bcc: The Does: JD <jo...@acme.org>, "
- + "jane.doe@example.org;", field.getRaw());
+ + "jane.doe@example.org;", decode(field.getRaw()));
field = Fields.bcc(group, mailbox3);
assertEquals("Bcc: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
field = Fields.bcc(Arrays.asList(group, mailbox3));
assertEquals("Bcc: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary Smith\r\n <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
}
public void testReplyTo() throws Exception {
@@ -317,23 +323,24 @@
AddressListField field = Fields.replyTo(group);
assertEquals("Reply-To: The Does: JD <jo...@acme.org>, "
- + "jane.doe@example.org;", field.getRaw());
+ + "jane.doe@example.org;", decode(field.getRaw()));
field = Fields.replyTo(group, mailbox3);
assertEquals("Reply-To: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary\r\n Smith <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
field = Fields.replyTo(Arrays.asList(group, mailbox3));
assertEquals("Reply-To: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary\r\n Smith <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
}
public void testMailbox() throws Exception {
MailboxField field = Fields.mailbox("Resent-Sender", Mailbox
.parse("JD <jo...@acme.org>"));
- assertEquals("Resent-Sender: JD <jo...@acme.org>", field.getRaw());
+ assertEquals("Resent-Sender: JD <jo...@acme.org>", decode(field
+ .getRaw()));
}
public void testMailboxList() throws Exception {
@@ -343,7 +350,7 @@
MailboxListField field = Fields.mailboxList("Resent-From", Arrays
.asList(mailbox1, mailbox2));
assertEquals("Resent-From: JD <jo...@acme.org>, "
- + "Mary Smith <ma...@example.net>", field.getRaw());
+ + "Mary Smith <ma...@example.net>", decode(field.getRaw()));
}
public void testAddressList() throws Exception {
@@ -356,7 +363,7 @@
group, mailbox3));
assertEquals("Resent-To: The Does: JD <jo...@acme.org>, "
+ "jane.doe@example.org;, Mary\r\n Smith <ma...@example.net>",
- field.getRaw());
+ decode(field.getRaw()));
}
public void testInvalidFieldName() throws Exception {
@@ -367,4 +374,8 @@
}
}
+ private String decode(ByteSequence byteSequence) {
+ return ContentUtil.decode(byteSequence);
+ }
+
}
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/EntityTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/EntityTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/EntityTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/EntityTest.java Fri Feb 27 16:45:02 2009
@@ -70,7 +70,7 @@
assertNull(entity.getDispositionType());
Header header = new Header();
- header.setField(AbstractField.parse("Content-Disposition", "inline"));
+ header.setField(AbstractField.parse("Content-Disposition: inline"));
entity.setHeader(header);
assertEquals("inline", entity.getDispositionType());
@@ -100,8 +100,8 @@
assertNull(entity.getFilename());
Header header = new Header();
- header.setField(AbstractField.parse("Content-Disposition",
- "attachment; filename=\"some file.dat\""));
+ header.setField(AbstractField.parse("Content-Disposition: attachment; "
+ + "filename=\"some file.dat\""));
entity.setHeader(header);
assertEquals("some file.dat", entity.getFilename());
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/ExampleMessagesRoundtripTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/ExampleMessagesRoundtripTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/ExampleMessagesRoundtripTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/ExampleMessagesRoundtripTest.java Fri Feb 27 16:45:02 2009
@@ -64,7 +64,7 @@
config.setMaxLineLen(-1);
Message inputMessage = new Message(new FileInputStream(file), config);
ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.LENIENT.writeEntity(inputMessage, out);
+ inputMessage.writeTo(out);
String msgoutFile = file.getAbsolutePath().substring(0, file.getAbsolutePath().lastIndexOf('.')) + ".out";
String msgoutFileMime4j = file.getAbsolutePath().substring(0, file.getAbsolutePath().lastIndexOf('.')) + ".mime4j.out";
@@ -73,17 +73,6 @@
ByteArrayOutputStream expectedstream = new ByteArrayOutputStream();
CodecUtil.copy(new FileInputStream(msgoutFile), expectedstream);
assertEquals("Wrong Expected result", new String(expectedstream.toByteArray()), new String(out.toByteArray()));
-
- Message roundtripMessage = new Message(new FileInputStream(msgoutFile), config);
- ByteArrayOutputStream outRoundtrip = new ByteArrayOutputStream();
- MessageWriter.LENIENT.writeEntity(roundtripMessage, outRoundtrip);
- assertEquals("Failed LENIENT roundtrip", new String(out.toByteArray()), new String(outRoundtrip.toByteArray()));
-
- roundtripMessage = new Message(new FileInputStream(msgoutFile), config);
- outRoundtrip = new ByteArrayOutputStream();
- MessageWriter.STRICT_ERROR.writeEntity(roundtripMessage, outRoundtrip);
- assertEquals("Failed STRICT roundtrip", new String(out.toByteArray()), new String(outRoundtrip.toByteArray()));
-
} catch (FileNotFoundException e) {
FileOutputStream fos = new FileOutputStream(msgoutFileMime4j);
fos.write(out.toByteArray());
@@ -91,8 +80,6 @@
fos.close();
fail("Expected file not found: generated a file with the expected result!");
}
-
-
}
public static Test suite() throws IOException {
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/HeaderTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/HeaderTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/HeaderTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/HeaderTest.java Fri Feb 27 16:45:02 2009
@@ -22,7 +22,6 @@
import junit.framework.TestCase;
import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.james.mime4j.MimeIOException;
import org.apache.james.mime4j.field.AbstractField;
import org.apache.james.mime4j.parser.Field;
import org.apache.james.mime4j.util.CharsetUtil;
@@ -47,7 +46,7 @@
private static final String SWISS_GERMAN_HELLO = "Gr\374ezi_z\344m\344";
- public void testWriteInStrictMode() throws Exception {
+ public void testWriteSpecialCharacters() throws Exception {
String hello = SWISS_GERMAN_HELLO;
Header header = new Header();
header.addField(AbstractField.parse("Hello: " + hello));
@@ -58,40 +57,12 @@
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- MessageWriter.STRICT_IGNORE.writeHeader(header, buffer);
+ MessageWriter.DEFAULT.writeHeader(header, buffer);
String s = buffer.toString(CharsetUtil.US_ASCII.name());
assertEquals("Hello: Gr?ezi_z?m?\r\n\r\n", s);
-
- buffer.reset();
-
- try {
- MessageWriter.STRICT_ERROR.writeHeader(header, buffer);
- fail("MimeIOException should have been thrown");
- } catch (MimeIOException expected) {
- }
}
-
- public void testWriteInLenientMode() throws Exception {
- String hello = SWISS_GERMAN_HELLO;
- Header header = new Header();
- header.addField(AbstractField.parse("Hello: " + hello));
- header.addField(AbstractField.parse("Content-type: text/plain; charset=" +
- CharsetUtil.ISO_8859_1.name()));
-
- Field field = header.getField("Hello");
- assertNotNull(field);
- assertEquals(hello, field.getBody());
-
- ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-
- MessageWriter.LENIENT.writeHeader(header, buffer);
- String s = buffer.toString(CharsetUtil.ISO_8859_1.name());
-
- assertEquals("Hello: " + hello + "\r\n" +
- "Content-type: text/plain; charset=ISO-8859-1\r\n\r\n", s);
- }
-
+
public void testRemoveFields() throws Exception {
Header header = new Header();
header.addField(AbstractField.parse("Received: from foo by bar for james"));
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageParserTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageParserTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageParserTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageParserTest.java Fri Feb 27 16:45:02 2009
@@ -22,6 +22,7 @@
import org.apache.commons.io.IOUtils;
import org.apache.james.mime4j.parser.Field;
import org.apache.james.mime4j.parser.MimeEntityConfig;
+import org.apache.james.mime4j.util.ContentUtil;
import org.apache.james.mime4j.util.CharsetUtil;
import org.apache.log4j.BasicConfigurator;
@@ -143,7 +144,8 @@
sb.append("<header>\r\n");
for (Field field : e.getHeader().getFields()) {
- sb.append("<field>\r\n" + escape(field.getRaw())
+ sb.append("<field>\r\n"
+ + escape(ContentUtil.decode(field.getRaw()))
+ "</field>\r\n");
}
sb.append("</header>\r\n");
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageTest.java Fri Feb 27 16:45:02 2009
@@ -167,7 +167,7 @@
String id = "<ms...@localhost>";
Header header = new Header();
- header.setField(AbstractField.parse("Message-ID", id));
+ header.setField(AbstractField.parse("Message-ID: " + id));
m.setHeader(header);
assertEquals(id, m.getMessageId());
}
@@ -188,11 +188,11 @@
String subject = "testing 1 2";
Header header = new Header();
- header.setField(AbstractField.parse("Subject", subject));
+ header.setField(AbstractField.parse("Subject: " + subject));
m.setHeader(header);
assertEquals(subject, m.getSubject());
- header.setField(AbstractField.parse("Subject", "=?windows-1252?Q?99_=80?="));
+ header.setField(AbstractField.parse("Subject: =?windows-1252?Q?99_=80?="));
assertEquals("99 \u20ac", m.getSubject());
}
@@ -213,7 +213,7 @@
assertNull(m.getDate());
Header header = new Header();
- header.setField(AbstractField.parse("Date", "Thu, 1 Jan 1970 05:30:00 +0530"));
+ header.setField(AbstractField.parse("Date: Thu, 1 Jan 1970 05:30:00 +0530"));
m.setHeader(header);
assertEquals(new Date(0), m.getDate());
@@ -236,7 +236,7 @@
assertNull(m.getSender());
Header header = new Header();
- header.setField(AbstractField.parse("Sender", "john.doe@example.net"));
+ header.setField(AbstractField.parse("Sender: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", m.getSender().getAddress());
@@ -258,7 +258,7 @@
assertNull(m.getFrom());
Header header = new Header();
- header.setField(AbstractField.parse("From", "john.doe@example.net"));
+ header.setField(AbstractField.parse("From: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", m.getFrom().get(0).getAddress());
@@ -291,7 +291,7 @@
assertNull(m.getTo());
Header header = new Header();
- header.setField(AbstractField.parse("To", "john.doe@example.net"));
+ header.setField(AbstractField.parse("To: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", ((Mailbox) m.getTo().get(0))
@@ -329,7 +329,7 @@
assertNull(m.getCc());
Header header = new Header();
- header.setField(AbstractField.parse("Cc", "john.doe@example.net"));
+ header.setField(AbstractField.parse("Cc: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", ((Mailbox) m.getCc().get(0))
@@ -367,7 +367,7 @@
assertNull(m.getBcc());
Header header = new Header();
- header.setField(AbstractField.parse("Bcc", "john.doe@example.net"));
+ header.setField(AbstractField.parse("Bcc: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", ((Mailbox) m.getBcc().get(0))
@@ -405,7 +405,7 @@
assertNull(m.getReplyTo());
Header header = new Header();
- header.setField(AbstractField.parse("Reply-To", "john.doe@example.net"));
+ header.setField(AbstractField.parse("Reply-To: john.doe@example.net"));
m.setHeader(header);
assertEquals("john.doe@example.net", ((Mailbox) m.getReplyTo().get(0))
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageWriteToTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageWriteToTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageWriteToTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MessageWriteToTest.java Fri Feb 27 16:45:02 2009
@@ -38,27 +38,11 @@
super.tearDown();
}
- public void testSimpleMailStrictIgnore() throws Exception {
+ public void testSimpleMail() throws Exception {
Message message = createMessage(ExampleMail.RFC822_SIMPLE_BYTES);
assertFalse("Not multipart", message.isMultipart());
ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.STRICT_IGNORE.writeEntity(message, out);
- assertEquals(out.toByteArray(), ExampleMail.RFC822_SIMPLE_BYTES);
- }
-
- public void testSimpleMailStrictError() throws Exception {
- Message message = createMessage(ExampleMail.RFC822_SIMPLE_BYTES);
- assertFalse("Not multipart", message.isMultipart());
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.STRICT_ERROR.writeEntity(message, out);
- assertEquals(out.toByteArray(), ExampleMail.RFC822_SIMPLE_BYTES);
- }
-
- public void testSimpleMailLenient() throws Exception {
- Message message = createMessage(ExampleMail.RFC822_SIMPLE_BYTES);
- assertFalse("Not multipart", message.isMultipart());
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.LENIENT.writeEntity(message, out);
+ message.writeTo(out);
assertEquals(out.toByteArray(), ExampleMail.RFC822_SIMPLE_BYTES);
}
@@ -71,27 +55,11 @@
}
}
- public void testBinaryAttachmentLenient() throws Exception {
- Message message = createMessage(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES);
- assertTrue("Is multipart", message.isMultipart());
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.LENIENT.writeEntity(message, out);
- assertEquals(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES, out.toByteArray());
- }
-
- public void testBinaryAttachmentStrictError() throws Exception {
- Message message = createMessage(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES);
- assertTrue("Is multipart", message.isMultipart());
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.STRICT_ERROR.writeEntity(message, out);
- assertEquals(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES, out.toByteArray());
- }
-
- public void testBinaryAttachmentStrictIgnore() throws Exception {
+ public void testBinaryAttachment() throws Exception {
Message message = createMessage(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES);
assertTrue("Is multipart", message.isMultipart());
ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.STRICT_IGNORE.writeEntity(message, out);
+ message.writeTo(out);
assertEquals(ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES, out.toByteArray());
}
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MultipartFormTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MultipartFormTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MultipartFormTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/message/MultipartFormTest.java Fri Feb 27 16:45:02 2009
@@ -59,7 +59,7 @@
multipart.addBodyPart(p3);
ByteArrayOutputStream out = new ByteArrayOutputStream();
- MessageWriter.LENIENT.writeMultipart(multipart, out);
+ MessageWriter.DEFAULT.writeMultipart(multipart, out);
out.close();
String expected = "\r\n" +
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/MimeStreamParserTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/MimeStreamParserTest.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/MimeStreamParserTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/MimeStreamParserTest.java Fri Feb 27 16:45:02 2009
@@ -22,6 +22,8 @@
import org.apache.james.mime4j.descriptor.BodyDescriptor;
import org.apache.james.mime4j.parser.AbstractContentHandler;
import org.apache.james.mime4j.parser.MimeStreamParser;
+import org.apache.james.mime4j.util.ByteSequence;
+import org.apache.james.mime4j.util.ContentUtil;
import org.apache.log4j.BasicConfigurator;
import java.io.ByteArrayInputStream;
@@ -140,7 +142,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -164,7 +166,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -188,7 +190,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -249,7 +251,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -372,7 +374,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
@Override
public void body(BodyDescriptor bd, InputStream is) throws IOException {
@@ -400,7 +402,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -419,7 +421,7 @@
parser.setContentHandler(new AbstractContentHandler() {
@Override
public void field(Field field) {
- assertEquals(expected.removeFirst(), field.getRaw());
+ assertEquals(expected.removeFirst(), decode(field.getRaw()));
}
});
@@ -466,4 +468,8 @@
assertEquals(expected, result);
}
+ protected String decode(ByteSequence byteSequence) {
+ return ContentUtil.decode(byteSequence);
+ }
+
}
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/TestHandler.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/TestHandler.java?rev=748583&r1=748582&r2=748583&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/TestHandler.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/parser/TestHandler.java Fri Feb 27 16:45:02 2009
@@ -21,6 +21,7 @@
import org.apache.james.mime4j.descriptor.BodyDescriptor;
import org.apache.james.mime4j.parser.ContentHandler;
+import org.apache.james.mime4j.util.ContentUtil;
import java.io.IOException;
import java.io.InputStream;
@@ -91,7 +92,9 @@
sb.append("<header>\r\n");
}
public void field(Field field) {
- sb.append("<field>\r\n" + escape(field.getRaw()) + "</field>\r\n");
+ sb.append("<field>\r\n"
+ + escape(ContentUtil.decode(field.getRaw()))
+ + "</field>\r\n");
}
public void endHeader() {
sb.append("</header>\r\n");