[Jboss-cvs] JBossAS SVN: r56986 - 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
Tue Sep 19 22:29:36 EDT 2006


Author: scott.stark at jboss.org
Date: 2006-09-19 22:29:35 -0400 (Tue, 19 Sep 2006)
New Revision: 56986

Added:
   projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/TestClassLoading.java
Log:
VFSClassLoader test

Added: projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/TestClassLoading.java
===================================================================
--- projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/TestClassLoading.java	2006-09-19 23:53:08 UTC (rev 56985)
+++ projects/microcontainer/trunk/container/src/tests/org/jboss/test/virtual/test/TestClassLoading.java	2006-09-20 02:29:35 UTC (rev 56986)
@@ -0,0 +1,39 @@
+package org.jboss.test.virtual.test;
+
+import java.io.File;
+import java.net.URL;
+
+import org.jboss.test.BaseTestCase;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.classloading.VFSClassLoader;
+
+public class TestClassLoading extends BaseTestCase
+{
+   public TestClassLoading(String name)
+   {
+      super(name);
+   }
+
+   public void testJarClasses()
+      throws Exception
+   {
+      super.enableTrace("org.jboss");
+      File libDir = new File("output/lib");
+      URL libURL = libDir.toURL();
+      VFS vfs = VFS.getVFS(libURL);
+   
+      String[] searchCtxts = {"jar1.jar"};
+      ClassLoader parent = null;
+      VFSClassLoader cl = new VFSClassLoader(searchCtxts, vfs, parent);
+      URL mf = cl.findResource("META-INF/MANIFEST.MF");
+      assertTrue("META-INF/application.xml != null", mf != null);
+      log.info(mf);
+      assertEquals("jar:file:/C:/svn/JBossMC/jbossmc/container/output/lib/jar1.jar!/META-INF/MANIFEST.MF", mf.toString());
+
+      Class c = cl.loadClass("org.jboss.test.vfs.support.jar1.ClassInJar1");
+      assertEquals("org.jboss.test.vfs.support.jar1.ClassInJar1", c.getName());
+      URL csURL = c.getProtectionDomain().getCodeSource().getLocation();
+      log.info(csURL);
+      assertTrue("jar1.jar is in codesource", csURL.getPath().indexOf("jar1.jar") > 0);
+   }
+}




More information about the jboss-cvs-commits mailing list