Author: niklas
Date: Thu Jul 10 12:37:09 2008
New Revision: 675695
URL: http://svn.apache.org/viewvc?rev=675695&view=rev
Log:
Resolved MIME4J-47: Applied patch contributed by Oleg Kalnichevski.
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeBoundaryInputStream.java
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/MultipartTokensTest.java
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeBoundaryInputStream.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeBoundaryInputStream.java?rev=675695&r1=675694&r2=675695&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeBoundaryInputStream.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeBoundaryInputStream.java
Thu Jul 10 12:37:09 2008
@@ -127,6 +127,7 @@
public void reset() {
atBoundary = false;
limit = -1;
+ eof = false;
}
public int readLine(final ByteArrayBuffer dst) throws IOException {
Modified:
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/MultipartTokensTest.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/MultipartTokensTest.java?rev=675695&r1=675694&r2=675695&view=diff
==============================================================================
---
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/MultipartTokensTest.java
(original)
+++
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/MultipartTokensTest.java
Thu Jul 10 12:37:09 2008
@@ -101,6 +101,49 @@
checkState(MimeTokenStream.T_END_OF_STREAM);
}
+ public void testShouldParseMoreComplexMessage() throws Exception {
+ String message =
+ "Content-Type: multipart/alternative;
boundary=\"outer-boundary\"\r\n" +
+ "\r\n" +
+ "--outer-boundary\r\n" +
+ "Content-Type: multipart/alternative;
boundary=\"inner-boundary\"\r\n" +
+ "\r\n" +
+ "--inner-boundary\r\n" +
+ "Content-Type: text/plain\r\n" +
+ "\r\n" +
+ "Some text\r\n" +
+ "--inner-boundary--\r\n" +
+ "\r\n" +
+ "foo\r\n" +
+ "--outer-boundary--\r\n";
+
+ parser.parse(new
ByteArrayInputStream(US_ASCII.encode(message).array()));
+ checkState(MimeTokenStream.T_START_HEADER);
+ checkState(MimeTokenStream.T_FIELD);
+ checkState(MimeTokenStream.T_END_HEADER);
+ checkState(MimeTokenStream.T_START_MULTIPART);
+ checkState(MimeTokenStream.T_PREAMBLE);
+ checkState(MimeTokenStream.T_START_BODYPART);
+ checkState(MimeTokenStream.T_START_HEADER);
+ checkState(MimeTokenStream.T_FIELD);
+ checkState(MimeTokenStream.T_END_HEADER);
+ checkState(MimeTokenStream.T_START_MULTIPART);
+ checkState(MimeTokenStream.T_PREAMBLE);
+ checkState(MimeTokenStream.T_START_BODYPART);
+ checkState(MimeTokenStream.T_START_HEADER);
+ checkState(MimeTokenStream.T_FIELD);
+ checkState(MimeTokenStream.T_END_HEADER);
+ checkState(MimeTokenStream.T_BODY);
+ checkState(MimeTokenStream.T_END_BODYPART);
+ checkState(MimeTokenStream.T_EPILOGUE);
+ checkState(MimeTokenStream.T_END_MULTIPART);
+ checkState(MimeTokenStream.T_END_BODYPART);
+ checkState(MimeTokenStream.T_EPILOGUE);
+ checkState(MimeTokenStream.T_END_MULTIPART);
+ checkState(MimeTokenStream.T_END_MESSAGE);
+ checkState(MimeTokenStream.T_END_OF_STREAM);
+ }
+
public void testShouldParseMessageWithEmbeddedMessage() throws Exception {
parser.parse(new
ByteArrayInputStream(US_ASCII.encode(COMPLEX_MESSAGE).array()));
checkState(MimeTokenStream.T_START_HEADER);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]