[jboss-cvs] JBossAS SVN: r101969 - in projects/vfs/trunk/src: test/java/org/jboss/test/vfs and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 5 11:58:57 EST 2010


Author: johnbailey
Date: 2010-03-05 11:58:57 -0500 (Fri, 05 Mar 2010)
New Revision: 101969

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/vfs/VirtualJarInputStream.java
   projects/vfs/trunk/src/test/java/org/jboss/test/vfs/VirtualJarInputStreamTestCase.java
Log:
[JBVFS-142] - Fix VirtualJarInputStream to act the same as a Jar/ZipInputStream when read is called before getNextEntry is called

Modified: projects/vfs/trunk/src/main/java/org/jboss/vfs/VirtualJarInputStream.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/vfs/VirtualJarInputStream.java	2010-03-05 16:58:40 UTC (rev 101968)
+++ projects/vfs/trunk/src/main/java/org/jboss/vfs/VirtualJarInputStream.java	2010-03-05 16:58:57 UTC (rev 101969)
@@ -53,7 +53,7 @@
    private final VirtualFile root;
    private final Manifest manifest;
 
-   private InputStream currentEntryStream;
+   private InputStream currentEntryStream = VFSUtils.emptyStream();
 
    private boolean closed;
 

Modified: projects/vfs/trunk/src/test/java/org/jboss/test/vfs/VirtualJarInputStreamTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/vfs/VirtualJarInputStreamTestCase.java	2010-03-05 16:58:40 UTC (rev 101968)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/vfs/VirtualJarInputStreamTestCase.java	2010-03-05 16:58:57 UTC (rev 101969)
@@ -253,4 +253,26 @@
       }
    }
 
+   /**
+    * Test to verify the VirtualJarInputStream correctly behaves when read is called
+    * before a call to getNextEntry or getNextJarEntry.
+    *
+    * @See https://jira.jboss.org/jira/browse/JBVFS-142
+    *
+    * @throws Exception
+    */
+   @Test
+   public void testReadCallWithNoEntry() throws Exception {
+      VirtualFile jar = testdir.getChild("jar1.jar");
+      Closeable mount = VFS.mountZip(jar, jar, provider);
+      try {
+         JarInputStream jarInput = (JarInputStream) jar.openStream();
+         assertEquals(-1, jarInput.read());
+      }
+      finally {
+         mount.close();
+      }
+   }
+
+
 }




More information about the jboss-cvs-commits mailing list