1 17 18 package javax.mail.internet; 24 25 import java.io.IOException; 26 import java.io.OutputStream; 27 import java.awt.datatransfer.DataFlavor; 28 import java.awt.datatransfer.UnsupportedFlavorException; 29 import javax.mail.MessagingException; 30 import javax.activation.CommandMap; 31 import javax.activation.DataHandler; 32 import javax.activation.MailcapCommandMap; 33 import javax.activation.DataContentHandler; 34 import javax.activation.DataSource; 35 36 import junit.framework.TestCase; 37 38 41 public class MimeMultipartTest extends TestCase { 42 private CommandMap defaultMap; 43 44 public void testWriteTo() throws MessagingException, IOException { 45 MimeMultipart mp = new MimeMultipart(); 46 MimeBodyPart part1 = new MimeBodyPart(); 47 part1.setContent("Hello World", "text/plain"); 48 mp.addBodyPart(part1); 49 MimeBodyPart part2 = new MimeBodyPart(); 50 part2.setContent("Hello Again", "text/plain"); 51 mp.addBodyPart(part2); 52 mp.writeTo(System.out); 53 } 54 55 protected void setUp() throws Exception { 56 defaultMap = CommandMap.getDefaultCommandMap(); 57 MailcapCommandMap myMap = new MailcapCommandMap(); 58 myMap.addMailcap("text/plain;; x-java-content-handler=" + DummyTextHandler.class.getName()); 59 CommandMap.setDefaultCommandMap(myMap); 60 } 61 62 protected void tearDown() throws Exception { 63 CommandMap.setDefaultCommandMap(defaultMap); 64 } 65 66 public static class DummyTextHandler implements DataContentHandler { 67 public DataFlavor[] getTransferDataFlavors() { 68 return new DataFlavor[0]; } 70 71 public Object getTransferData(DataFlavor df, DataSource ds) throws UnsupportedFlavorException, IOException { 72 return null; } 74 75 public Object getContent(DataSource ds) throws IOException { 76 return null; } 78 79 public void writeTo(Object obj, String mimeType, OutputStream os) throws IOException { 80 os.write(((String)obj).getBytes()); 81 } 82 } 83 84 public static class DummyMultipartHandler implements DataContentHandler { 85 public DataFlavor[] getTransferDataFlavors() { 86 return new DataFlavor[0]; } 88 89 public Object getTransferData(DataFlavor df, DataSource ds) throws UnsupportedFlavorException, IOException { 90 return null; } 92 93 public Object getContent(DataSource ds) throws IOException { 94 return null; } 96 97 public void writeTo(Object obj, String mimeType, OutputStream os) throws IOException { 98 os.write(((String)obj).getBytes()); 99 } 100 } 101 } 102 | Popular Tags |