/** * Tests retrieving resources (from local directory with .jar extension). * <p> * This test is repeated with various provider configurations but works on local files, only. */ public void testGetResourcesNoLayerLocal() throws Exception { final FileSystemManager manager = getManager(); try { // hasProvider("file") cannot be used as it triggers default provider URL manager.toFileObject(new File(".")); } catch (final FileSystemException e) { System.out.println("VfsClassLoaderTests no local file provider, skipping."); return; } final File baseDir = AbstractVfsTestCase.getTestDirectoryFile(); // setup test folder final FileObject dir = manager.resolveFile(baseDir, "read-tests/dir1/subdir4.jar"); assertTrue("subdir4.jar/ is required for testing " + dir, dir.getType() == FileType.FOLDER); assertFalse(manager.canCreateFileSystem(dir)); // prepare classloader final FileObject[] search = new FileObject[] { dir }; final ClassLoader mockClassloader = new MockClassloader(); final VFSClassLoader loader = new VFSClassLoader(search, getManager(), mockClassloader); // verify resource loading final Enumeration<URL> urls = loader.getResources("file1.txt"); final URL url1 = urls.nextElement(); assertFalse("Only one hit expected", urls.hasMoreElements()); assertTrue("not pointing to resource " + url1, url1.toString().endsWith("subdir4.jar/file1.txt")); }
final VFSClassLoader loader = new VFSClassLoader(search, getManager(), mockClassloader); final Enumeration<URL> urls = loader.getResources("META-INF/MANIFEST.MF"); final URL url1 = urls.nextElement(); final URL url2 = urls.nextElement();
/** * Tests retrieving resources (from local directory with .jar extension). * <p> * This test is repeated with various provider configurations but works on local files, only. */ public void testGetResourcesNoLayerLocal() throws Exception { final FileSystemManager manager = getManager(); try { // hasProvider("file") cannot be used as it triggers default provider URL manager.toFileObject(new File(".")); } catch (final FileSystemException e) { System.out.println("VfsClassLoaderTests no local file provider, skipping."); return; } final File baseDir = AbstractVfsTestCase.getTestDirectoryFile(); // setup test folder final FileObject dir = manager.resolveFile(baseDir, "read-tests/dir1/subdir4.jar"); assertTrue("subdir4.jar/ is required for testing " + dir, dir.getType() == FileType.FOLDER); assertFalse(manager.canCreateFileSystem(dir)); // prepare classloader final FileObject[] search = new FileObject[] { dir }; final ClassLoader mockClassloader = new MockClassloader(); final VFSClassLoader loader = new VFSClassLoader(search, getManager(), mockClassloader); // verify resource loading final Enumeration<URL> urls = loader.getResources("file1.txt"); final URL url1 = urls.nextElement(); assertFalse("Only one hit expected", urls.hasMoreElements()); assertTrue("not pointing to resource " + url1, url1.toString().endsWith("subdir4.jar/file1.txt")); }
final VFSClassLoader loader = new VFSClassLoader(search, getManager(), mockClassloader); final Enumeration<URL> urls = loader.getResources("META-INF/MANIFEST.MF"); final URL url1 = urls.nextElement(); final URL url2 = urls.nextElement();