Author: bago
Date: Wed Jul 30 04:31:07 2008
New Revision: 680984

URL: http://svn.apache.org/viewvc?rev=680984&view=rev
Log:
Add some sort of unit tests for LineBreakingOutputStream

Modified:
    
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/LineBreakingOutputStreamTest.java

Modified: 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/LineBreakingOutputStreamTest.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/LineBreakingOutputStreamTest.java?rev=680984&r1=680983&r2=680984&view=diff
==============================================================================
--- 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/LineBreakingOutputStreamTest.java
 (original)
+++ 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/LineBreakingOutputStreamTest.java
 Wed Jul 30 04:31:07 2008
@@ -19,16 +19,67 @@
 
 package org.apache.james.mime4j.util;
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 
 import junit.framework.TestCase;
 
+/**
+ * Test for LineBreakingOutputStream
+ */
 public class LineBreakingOutputStreamTest extends TestCase {
     
     public void testLongLine() throws IOException {
-        OutputStream os = new LineBreakingOutputStream(System.out, 4);
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputStream os = new LineBreakingOutputStream(out, 4);
         
os.write("gsdfklgsjdhflkgjhsdfklgjhsdlkfjghksdljfhgslkdjfhgklsjdhf".getBytes());
+        os.flush();
+        os.close();
+        String expected = 
"gsdf\r\nklgs\r\njdhf\r\nlkgj\r\nhsdf\r\nklgj\r\nhsdl\r\nkfjg\r\nhksd\r\nljfh\r\ngslk\r\ndjfh\r\ngkls\r\njdhf";
+        assertEquals(new String(out.toByteArray()), expected);
+    }
+    
+    public void testLineLengthEqualInput() throws IOException {
+        String input = 
"gsdfklgsjdhflkgjhsdfklgjhsdlkfjghksdljfhgslkdjfhgklsjdhf";
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputStream os = new LineBreakingOutputStream(out, input.length());
+        os.write(input.getBytes());
+        os.flush();
+        os.close();
+        assertEquals(new String(out.toByteArray()), input);
+    }
+    
+    public void testLineLengthLongerThanInput() throws IOException {
+        String input = 
"gsdfklgsjdhflkgjhsdfklgjhsdlkfjghksdljfhgslkdjfhgklsjdhf";
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputStream os = new LineBreakingOutputStream(out, input.length()+1);
+        os.write(input.getBytes());
+        os.flush();
+        os.close();
+        assertEquals(new String(out.toByteArray()), input);
+    }
+    
+    public void testLineLengthShorterThanInput() throws IOException {
+        String input = 
"gsdfklgsjdhflkgjhsdfklgjhsdlkfjghksdljfhgslkdjfhgklsjdhf";
+        String expected = 
"gsdfklgsjdhflkgjhsdfklgjhsdlkfjghksdljfhgslkdjfhgklsjdh\r\nf";
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputStream os = new LineBreakingOutputStream(out, input.length()-1);
+        os.write(input.getBytes());
+        os.flush();
+        os.close();
+        assertEquals(new String(out.toByteArray()), expected);
+    }
+    
+    public void testZeroLengthInput() throws IOException {
+        String input = "";
+        String expected = "";
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputStream os = new LineBreakingOutputStream(out, 10);
+        os.write(input.getBytes());
+        os.flush();
+        os.close();
+        assertEquals(new String(out.toByteArray()), expected);
     }
 
 }



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

Reply via email to