1 36 package org.columba.ristretto.message; 37 38 import junit.framework.TestCase; 39 40 import org.columba.ristretto.io.CharSequenceSource; 41 import org.columba.ristretto.parser.HeaderParser; 42 43 public class MimeHeaderTest extends TestCase { 44 45 49 public MimeHeaderTest(String arg0) { 50 super(arg0); 51 } 52 53 public void testDefaultHeader() { 54 MimeHeader header = new MimeHeader(); 55 MimeType type = header.getMimeType(); 56 assertTrue( type.getType().equals("text")); 57 assertTrue( type.getSubtype().equals("plain")); 58 } 59 60 public void testContentParameterSimple() { 61 Header header = new Header(); 62 header.set("Content-Type","multipart/mixed;boundary= \"blabla\""); 63 MimeHeader mimeHeader = new MimeHeader(header); 64 assertTrue(mimeHeader.getContentParameter("boundary").equals("blabla")); 65 } 66 67 public void testContentParameterMultiple() { 68 Header header = new Header(); 69 header.set("Content-Type","multipart/mixed; charset=\"iso-8859-1\"; boundary=\"bla bla\""); 70 MimeHeader mimeHeader = new MimeHeader(header); 71 assertEquals(mimeHeader.getContentParameter("boundary"), "bla bla"); 72 assertEquals(mimeHeader.getContentParameter("charset"), "iso-8859-1"); 73 } 74 75 public void testWOQuotes() { 76 Header header= new Header(); 77 header.set("Content-Type", "text/plain; charset=iso-8859-1"); 78 MimeHeader mimeHeader = new MimeHeader( header ); 79 assertEquals( mimeHeader.getContentParameter("charset"), "iso-8859-1"); 80 } 81 82 public void testFromParsedHeader() throws Exception { 83 String test = "Return-Path: <xxxx@xxxxxxxx.de>\r\n" + 84 "X-Flags: 0000\r\n" + 85 "Delivered-To: xxxxxxxxxxxxx}\r\n" + 86 "Received: (qmail 392 invoked by uid 65534); 23 Jun 2004 \r\n" + 87 "12:55:08 -0000\r\n" + 88 "Received: from xxxxxxxxxxxx (EHLO xxxxxxxxxxxx) \r\n" + 89 "(xxx.xxx.xxx.xxx) \r\n" + 90 "by xxxxxxxxx (xxxx) with SMTP; 23 Jun 2004 14:55:08 \r\n" + 91 "+0200\r\n" + 92 "Received: from xxxxxxx by xxxxxxxxxxxxx with local (Exim \r\n" + 93 "3.35 #1 (Debian)) \r\n" + 94 "id xxxxxxxxxxxxxxxx \r\n " + 95 "for <xxxxxxx@xxxxxxx>; Wed, 23 Jun 2004 \r\n" + 96 "14:55:04 +0200\r\n" + 97 "Content-Type: text/plain; charset=iso-8859-1\r\n" + 98 "Content-Transfer-Encoding: 8bit\r\n" + 99 "MIME-Version: 1.0\r\n" + 100 "From: \"Fxxxxxx\" <xxxxxxxxx@xxxxxxxxxxx>\r\n" + 101 "To: xxxxxxxxxx@xxxxxxxxxxxxx\r\n" + 102 "Reply-to: \"Fxxxxxx\" <xxxxxxxxxx@xxxxxxxxxx>\r\n" + 103 "Subject: xxxxxxxxxxxxx\r\n" + 104 "MIME-Version: 1.0\r\n" + 105 "Content-Type: text/plain; charset=iso-8859-1\r\n" + 106 "Content-Transfer-Encoding: 8bit\r\n" + 107 "X-Script: xxxxxxxxxx.pl\r\n" + 108 "Message-Id: <xxxxxxxxxxx@xxxxxxxxxxxx>\r\n" + 109 "Date: Wed, 23 Jun 2004 14:55:04 +0200\r\n\r\n"; 110 111 Header header = HeaderParser.parse(new CharSequenceSource( test )); 112 MimeHeader mimeHeader = new MimeHeader( header ); 113 assertEquals( "iso-8859-1", mimeHeader.getContentParameter("charset") ); 114 115 } 116 117 } 118 | Popular Tags |