Author: bodewig
Date: Wed Oct 26 10:35:38 2011
New Revision: 1189119

URL: http://svn.apache.org/viewvc?rev=1189119&view=rev
Log:
improve test-coverage of pack200 package

Modified:
    
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java

Modified: 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java?rev=1189119&r1=1189118&r2=1189119&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
 (original)
+++ 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
 Wed Oct 26 10:35:38 2011
@@ -22,9 +22,12 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.InputStream;
+import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.commons.compress.AbstractTestCase;
 import org.apache.commons.compress.archivers.ArchiveEntry;
@@ -156,4 +159,56 @@ public final class Pack200TestCase exten
             is.close();
         }
     }
+
+    public void testShortSignature() throws Exception {
+        final InputStream is = new FileInputStream(getFile("bla.pack"));
+        try {
+            byte[] sig = new byte[2];
+            is.read(sig);
+            assertFalse(Pack200CompressorInputStream.matches(sig, 2));
+        } finally {
+            is.close();
+        }
+    }
+
+    public void testInputStreamMethods() throws Exception {
+        Map<String, String> m = new HashMap<String, String>();
+        m.put("foo", "bar");
+        final InputStream is =
+            new Pack200CompressorInputStream(new 
FileInputStream(getFile("bla.jar")),
+                                             m);
+        try {
+            // packed file is a jar, which is a zip so it starts with
+            // a local file header
+            assertTrue(is.markSupported());
+            is.mark(5);
+            assertEquals(0x50, is.read());
+            byte[] rest = new byte[3];
+            assertEquals(3, is.read(rest));
+            assertEquals(0x4b, rest[0]);
+            assertEquals(3, rest[1]);
+            assertEquals(4, rest[2]);
+            assertEquals(1, is.skip(1));
+            is.reset();
+            assertEquals(0x50, is.read());
+            assertTrue(is.available() > 0);
+        } finally {
+            is.close();
+        }
+    }
+
+    public void testOutputStreamMethods() throws Exception {
+        final File output = new File(dir, "bla.pack");
+        Map<String, String> m = new HashMap<String, String>();
+        m.put("foo", "bar");
+        final OutputStream out = new FileOutputStream(output);
+        try {
+            final OutputStream os = new Pack200CompressorOutputStream(out, m);
+            os.write(1);
+            os.write(new byte[] { 2, 3 });
+            os.close();
+        } finally {
+            out.close();
+        }
+    }
 }


Reply via email to