[jboss-cvs] JBossAS SVN: r58266 - projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Nov 11 15:29:36 EST 2006
Author: scott.stark at jboss.org
Date: 2006-11-11 15:29:34 -0500 (Sat, 11 Nov 2006)
New Revision: 58266
Modified:
projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
Log:
+ Correct the suffix filter usage for .class files to be SuffixMatchFilter(".class", VisitorAttributes.RECURSE);
+ Add a test of copying a jar file using the vfs api
Modified: projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/FileVFSUnitTestCase.java 2006-11-11 18:12:43 UTC (rev 58265)
+++ projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/FileVFSUnitTestCase.java 2006-11-11 20:29:34 UTC (rev 58266)
@@ -35,6 +35,7 @@
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
+import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;
import java.util.zip.ZipInputStream;
@@ -47,6 +48,7 @@
import org.jboss.virtual.VFS;
import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.VisitorAttributes;
import org.jboss.virtual.plugins.context.jar.JarUtils;
import org.jboss.virtual.plugins.context.jar.NestedJarFromStream;
import org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter;
@@ -332,7 +334,7 @@
expectedClasses.add("jar2.jar/org/jboss/test/vfs/support/jar2/ClassInJar2.class");
expectedClasses.add("org/jboss/test/vfs/support/CommonClass.class");
super.enableTrace("org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter");
- SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class");
+ SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class", VisitorAttributes.RECURSE);
List<VirtualFile> classes = vfs.getChildren(classVisitor);
int count = 0;
for (VirtualFile cf : classes)
@@ -363,7 +365,7 @@
expectedClasses.add("jar2.jar/org/jboss/test/vfs/support/jar2/ClassInJar2.class");
expectedClasses.add("org/jboss/test/vfs/support/CommonClass.class");
super.enableTrace("org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter");
- SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class");
+ SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class", VisitorAttributes.RECURSE);
List<VirtualFile> classes = vfs.getChildren(classVisitor);
int count = 0;
for (VirtualFile cf : classes)
@@ -392,7 +394,7 @@
expectedClasses.add("org/jboss/test/vfs/support/jar1/ClassInJar1.class");
expectedClasses.add("org/jboss/test/vfs/support/jar1/ClassInJar1$InnerClass.class");
super.enableTrace("org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter");
- SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class");
+ SuffixMatchFilter classVisitor = new SuffixMatchFilter(".class", VisitorAttributes.RECURSE);
List<VirtualFile> classes = vfs.getChildren(classVisitor);
int count = 0;
for (VirtualFile cf : classes)
@@ -754,8 +756,51 @@
VirtualFile jar1 = outerJar.findChild("jar1.jar");
assertEquals(jar1URL, jar1.toURL());
}
-
+
/**
+ * Test copying a jar
+ *
+ * @throws Exception
+ */
+ public void testCopyJar()
+ throws Exception
+ {
+ URL rootURL = getResource("/vfs/test");
+ VFS vfs = VFS.getVFS(rootURL);
+ VirtualFile jar = vfs.findChild("outer.jar");
+ assertTrue("outer.jar != null", jar != null);
+ File tmpJar = File.createTempFile("testCopyJar", ".jar");
+ tmpJar.deleteOnExit();
+
+ try
+ {
+ InputStream is = jar.openStream();
+ FileOutputStream fos = new FileOutputStream(tmpJar);
+ byte[] buffer = new byte[1024];
+ int read;
+ while( (read = is.read(buffer)) > 0 )
+ {
+ fos.write(buffer, 0, read);
+ }
+ fos.close();
+ log.debug("outer.jar size is: "+jar.getSize());
+ log.debug(tmpJar.getAbsolutePath()+" size is: "+tmpJar.length());
+ assertTrue("outer.jar > 0", jar.getSize() > 0);
+ assertEquals("copy jar size", jar.getSize(), tmpJar.length());
+ jar.close();
+ }
+ finally
+ {
+ try
+ {
+ tmpJar.delete();
+ }
+ catch(Exception ignore)
+ {
+ }
+ }
+ }
+ /**
* Tests that we can find the META-INF/some-data.xml in an unpacked deployment
*/
public void testGetMetaDataUnpackedJar() throws Exception
More information about the jboss-cvs-commits
mailing list