Author: bago
Date: Thu Apr 26 15:24:12 2007
New Revision: 532893

URL: http://svn.apache.org/viewvc?view=rev&rev=532893
Log:
Changed MessageParserTest to not create .mime4j. files unless there is an error 
(the expected file is not found or it is different).
This way we don't create duplicated mime4j files in source tree.
Removed unused mime4j files from resources.

Removed:
    
james/mime4j/trunk/src/test/resources/testmsgs/2002_06_12_doublebound_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/ak-0696_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/bluedot-postcard_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/bluedot-postcard_decoded_1_2_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/bluedot-simple_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/bluedot-simple_decoded_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/double-bound-with-embedded_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/double-bound-with-embedded_decoded_1_11.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/double-bound_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/double-bound_decoded_1_10.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded_1_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded_1_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded_1_3.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded_1_4.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/dup-names_decoded_1_5.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/frag_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/frag_decoded_1_2_1_2_1_2_1_2.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/german_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/hdr-fakeout_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2evil_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2evil_decoded_1_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2evil_decoded_1_3.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs-base64_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs-base64_decoded_1_1_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs-base64_decoded_1_1_3.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs_decoded_1_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-2gifs_decoded_1_3.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/multi-clen_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-digest_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/multi-frag_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-frag_decoded_1_3_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-frag_decoded_1_3_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-igor2_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/multi-igor_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested2_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested2_decoded_1_3_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested2_decoded_1_3_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested3_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested3_decoded_1_3_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested3_decoded_1_3_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested_decoded_1_3_1.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-nested_decoded_1_3_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-simple_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-weirdspace_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-weirdspace_decoded_1_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/multi-weirdspace_decoded_1_3.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/re-fwd_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/russian_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/simple_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/uu-junk-target_decoded.mime4j.xml
    
james/mime4j/trunk/src/test/resources/testmsgs/uu-junk-target_decoded_1_2_2.mime4j.bin
    
james/mime4j/trunk/src/test/resources/testmsgs/uu-junk-target_decoded_1_2_3.mime4j.bin
    james/mime4j/trunk/src/test/resources/testmsgs/uu-junk_decoded.mime4j.xml
    james/mime4j/trunk/src/test/resources/testmsgs/uu-zeegee_decoded.mime4j.xml
Modified:
    james/mime4j/trunk/src/test/java/org/mime4j/message/MessageParserTest.java

Modified: 
james/mime4j/trunk/src/test/java/org/mime4j/message/MessageParserTest.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/mime4j/message/MessageParserTest.java?view=diff&rev=532893&r1=532892&r2=532893
==============================================================================
--- james/mime4j/trunk/src/test/java/org/mime4j/message/MessageParserTest.java 
(original)
+++ james/mime4j/trunk/src/test/java/org/mime4j/message/MessageParserTest.java 
Thu Apr 26 15:24:12 2007
@@ -19,13 +19,21 @@
 
 package org.mime4j.message;
 
+import org.apache.commons.io.IOUtils;
+import org.apache.log4j.BasicConfigurator;
+import org.mime4j.EOLConvertingInputStream;
+import org.mime4j.field.Field;
+import org.mime4j.util.CharsetUtil;
+
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
 import java.util.Iterator;
 import java.util.List;
 
@@ -33,12 +41,6 @@
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.log4j.BasicConfigurator;
-import org.mime4j.EOLConvertingInputStream;
-import org.mime4j.field.Field;
-import org.mime4j.util.CharsetUtil;
-
 /**
  * 
  * 
@@ -63,7 +65,7 @@
     public static Test suite() {
         TestSuite suite = new TestSuite();
         
-        File dir =     new File("src/test/resources/testmsgs");
+        File dir = new File("src/test/resources/testmsgs");
         File[] files = dir.listFiles();
         
         for (int i = 0; i < files.length && i < 5000; i++) {
@@ -94,13 +96,28 @@
         String result = getStructure(m, prefix, "1");
         String mime4jFileName = fileName.substring(0, fileName.length() - 4) 
                                     + "_decoded.mime4j.xml";
+        String expected = null;
+        try {
+            expected = IOUtils.toString(
+                    new FileInputStream(xmlFileName), "ISO8859-1");
+        } catch (FileNotFoundException ex) {
+            writeToFile(result, mime4jFileName);
+            fail("Test file not found. Generated the expected result with 
mime4j prefix: "+ex.getMessage());
+        }
+        try {
+            assertEquals(expected, result);
+        } catch (AssertionError ae) {
+            writeToFile(result, mime4jFileName);
+            throw ae;
+        }
+    }
+
+    private void writeToFile(String result, String mime4jFileName)
+            throws FileNotFoundException, IOException,
+            UnsupportedEncodingException {
         FileOutputStream out = new FileOutputStream(mime4jFileName);
         out.write(result.getBytes("ISO8859-1"));
         out.close();
-        
-        String expected = IOUtils.toString(
-                    new FileInputStream(xmlFileName), "ISO8859-1");
-        assertEquals(expected, result);
     }
     
     private String escape(String s) {
@@ -157,28 +174,38 @@
             String tag = b instanceof TextBody ? "text-body" : "binary-body";
             sb.append("<" + tag + " name=\"" + name + "\"/>\r\n");
                 
-            File perlFile = new File(new File(fileName).getParent(), name);
+            File expectedFile = new File(new File(fileName).getParent(), name);
             File mime4jFile = new File(new File(fileName).getParent(), 
                               name.substring(0, name.length() - 4) + ".mime4j"
                                + (b instanceof TextBody ? ".txt" : ".bin"));
                 
-            InputStream expected = 
-                new BufferedInputStream(new FileInputStream(perlFile));
+            InputStream expected = null;
+            try {
+                expected = new BufferedInputStream(new 
FileInputStream(expectedFile));
+            } catch (FileNotFoundException ex) {
+                writeToFile(b, mime4jFile);
+                fail("Test file not found. Generated the expected result with 
mime4j prefix: "+ex.getMessage());
+            }
             
-            if (b instanceof TextBody) {
-                String charset = CharsetUtil.toJavaCharset(e.getCharset());
-                if (charset == null) {
-                    charset = "ISO8859-1";
+            try {
+                if (b instanceof TextBody) {
+                    String charset = CharsetUtil.toJavaCharset(e.getCharset());
+                    if (charset == null) {
+                        charset = "ISO8859-1";
+                    }
+
+                    String s1 = IOUtils.toString(expected, charset).replaceAll(
+                            "\r", "");
+                    String s2 = IOUtils.toString(((TextBody) b).getReader())
+                            .replaceAll("\r", "");
+                    assertEquals(expectedFile.getName(), s1, s2);
+                } else {
+                    assertEqualsBinary(expectedFile.getName(), expected,
+                            ((BinaryBody) b).getInputStream());
                 }
-                
-                String s1 = IOUtils.toString(expected, 
charset).replaceAll("\r", "");
-                String s2 = IOUtils.toString(((TextBody) 
b).getReader()).replaceAll("\r", "");
-                assertEquals(perlFile.getName(), s1, s2);
-            } else {
-                OutputStream out = new FileOutputStream(mime4jFile);
-                IOUtils.copy(((BinaryBody) b).getInputStream(), out);
-            
-                assertEqualsBinary(perlFile.getName(), expected, ((BinaryBody) 
b).getInputStream());
+            } catch (AssertionError er) {
+                writeToFile(b, mime4jFile);
+                throw er;
             }
         }
         
@@ -190,6 +217,17 @@
         }            
         
         return sb.toString();
+    }
+
+    private void writeToFile(Body b, File mime4jFile)
+            throws FileNotFoundException, IOException {
+        if (b instanceof TextBody) {
+            OutputStream out = new FileOutputStream(mime4jFile);
+            IOUtils.copy(((TextBody) b).getReader(), out);
+        } else {
+            OutputStream out = new FileOutputStream(mime4jFile);
+            IOUtils.copy(((BinaryBody) b).getInputStream(), out);
+        }
     }
 
     private void assertEqualsBinary(String msg, InputStream a, InputStream b) 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to