diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java deleted file mode 100644 index ae5ce627..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.tools.ant; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.Arrays; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import org.apache.tools.ant.types.Path; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -/** - * Test case for ant class loader - * - */ -public class AntClassLoaderDelegationTest { - - /** Instance of a utility class to use for file operations. */ - private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); - - private Project p; - - @Before - public void setUp() { - p = new Project(); - p.init(); - } - - /** Sample resource present in build/testcases/ */ - private static final String TEST_RESOURCE - = "apache/tools/ant/IncludeTest.class"; - - @Test - public void testFindResources() throws Exception { - // This path should contain the class files for these testcases: - String buildTestcases = System.getProperty("build.tests"); - assertNotNull("defined ${build.tests}", buildTestcases); - assertTrue("have a dir " + buildTestcases, - new File(buildTestcases).isDirectory()); - Path path = new Path(p, buildTestcases + "/org"); - // A special parent loader which is not the system class loader: - ClassLoader parent = new ParentLoader(); - // An AntClassLoader which is supposed to delegate to - // the parent and then to the disk path: - ClassLoader acl = new AntClassLoader(parent, p, path, true); - // The intended result URLs: - URL urlFromPath = new URL( - FILE_UTILS.toURI(buildTestcases) + "org/" + TEST_RESOURCE); - URL urlFromParent = new URL("http://ant.apache.org/" + TEST_RESOURCE); - assertEquals("correct resources (regular delegation order)", - Arrays.asList(new URL[] {urlFromParent, urlFromPath}), - enum2List(acl.getResources(TEST_RESOURCE))); - acl = new AntClassLoader(parent, p, path, false); - assertEquals("correct resources (reverse delegation order)", - Arrays.asList(new URL[] {urlFromPath, urlFromParent}), - enum2List(acl.getResources(TEST_RESOURCE))); - } - - @Test - public void testFindIsolateResources() throws Exception { - String buildTestcases = System.getProperty("build.tests"); - assertNotNull("defined ${build.tests}", buildTestcases); - assertTrue("have a dir " + buildTestcases, - new File(buildTestcases).isDirectory()); - Path path = new Path(p, buildTestcases + "/org"); - // A special parent loader which is not the system class loader: - ClassLoader parent = new ParentLoader(); - - URL urlFromPath = new URL( - FILE_UTILS.toURI(buildTestcases) + "org/" + TEST_RESOURCE); - AntClassLoader acl = new AntClassLoader(parent, p, path, false); - acl.setIsolated(true); - assertEquals("correct resources (reverse delegation order)", - Arrays.asList(new URL[] {urlFromPath}), - enum2List(acl.getResources(TEST_RESOURCE))); - } - - private static List enum2List(Enumeration e) { - return Collections.list(e); - } - - /** Special loader that just knows how to find TEST_RESOURCE. */ - private static final class ParentLoader extends ClassLoader { - - public ParentLoader() {} - - protected Enumeration findResources(String name) throws IOException { - if (name.equals(TEST_RESOURCE)) { - return Collections.enumeration( - Collections.singleton( - new URL("http://ant.apache.org/" + name))); - } else { - return Collections.enumeration(Collections.EMPTY_SET); - } - } - - } - -} |