use of com.fsck.k9.mail.internet.Viewable.Html in project k-9 by k9mail.
the class MessageBuilderTest method build_usingHtmlFormatWithInlineAttachment_shouldUseMultipartAlternativeInCorrectOrder.
@Test
public void build_usingHtmlFormatWithInlineAttachment_shouldUseMultipartAlternativeInCorrectOrder() throws Exception {
String contentId = "contentId";
String attachmentMimeType = "image/png";
Map<String, Attachment> inlineAttachments = new HashMap<>();
inlineAttachments.put(contentId, createAttachmentWithContent(attachmentMimeType, "1x1.png", "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC"));
MessageBuilder messageBuilder = createHtmlMessageBuilder().setInlineAttachments(inlineAttachments);
messageBuilder.buildAsync(callback);
MimeMessage message = getMessageFromCallback();
assertEquals(MimeMultipart.class, message.getBody().getClass());
assertEquals("multipart/alternative", ((MimeMultipart) message.getBody()).getMimeType());
List<BodyPart> parts = ((MimeMultipart) message.getBody()).getBodyParts();
// RFC 2046 - 5.1.4. - Best type is last displayable
assertEquals("text/plain", parts.get(0).getMimeType());
assertEquals("multipart/related", parts.get(1).getMimeType());
List<BodyPart> partWithInlineAttachment = ((MimeMultipart) parts.get(1).getBody()).getBodyParts();
assertEquals("text/html", partWithInlineAttachment.get(0).getMimeType());
assertEquals(attachmentMimeType, partWithInlineAttachment.get(1).getMimeType());
String[] attachmentHeaders = partWithInlineAttachment.get(1).getHeader(MimeHeader.HEADER_CONTENT_ID);
assertEquals(1, attachmentHeaders.length);
assertEquals(contentId, attachmentHeaders[0]);
}
use of com.fsck.k9.mail.internet.Viewable.Html in project k-9 by k9mail.
the class TextPartFinderTest method findFirstTextPart_withMultipartAlternativeHtmlPartFirst.
@Test
public void findFirstTextPart_withMultipartAlternativeHtmlPartFirst() throws Exception {
BodyPart expected = createTextPart("text/plain");
Part part = createMultipart("multipart/alternative", createTextPart("text/html"), expected);
Part result = textPartFinder.findFirstTextPart(part);
assertEquals(expected, result);
}
use of com.fsck.k9.mail.internet.Viewable.Html in project k-9 by k9mail.
the class TextPartFinderTest method findFirstTextPart_withMultipartMixedContainingMultipartAlternativeWithTextPlainPartLast.
@Test
public void findFirstTextPart_withMultipartMixedContainingMultipartAlternativeWithTextPlainPartLast() throws Exception {
BodyPart expected = createTextPart("text/plain");
Part part = createMultipart("multipart/mixed", createMultipart("multipart/alternative", createTextPart("text/html"), expected));
Part result = textPartFinder.findFirstTextPart(part);
assertEquals(expected, result);
}
use of com.fsck.k9.mail.internet.Viewable.Html in project k-9 by k9mail.
the class TextPartFinderTest method findFirstTextPart_withMultipartMixedContainingMultipartAlternative.
@Test
public void findFirstTextPart_withMultipartMixedContainingMultipartAlternative() throws Exception {
BodyPart expected = createTextPart("text/plain");
Part part = createMultipart("multipart/mixed", createPart("image/jpeg"), createMultipart("multipart/alternative", expected, createTextPart("text/html")), createTextPart("text/plain"));
Part result = textPartFinder.findFirstTextPart(part);
assertEquals(expected, result);
}
use of com.fsck.k9.mail.internet.Viewable.Html in project k-9 by k9mail.
the class TextPartFinderTest method findFirstTextPart_withMultipartMixedContainingEmptyTextHtmlPart.
@Test
public void findFirstTextPart_withMultipartMixedContainingEmptyTextHtmlPart() throws Exception {
BodyPart expected = createEmptyPart("text/html");
Part part = createMultipart("multipart/mixed", expected, createTextPart("text/plain"));
Part result = textPartFinder.findFirstTextPart(part);
assertEquals(expected, result);
}
Aggregations