diff --git a/src/etc/testcases/core/antclassloader.xml b/src/etc/testcases/core/antclassloader.xml index f9a42d538..a8b817354 100644 --- a/src/etc/testcases/core/antclassloader.xml +++ b/src/etc/testcases/core/antclassloader.xml @@ -17,9 +17,9 @@ --> - + - + @@ -54,5 +54,17 @@ + + + + + + + + diff --git a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java index 10649da41..5aa658952 100644 --- a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java +++ b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java @@ -98,4 +98,25 @@ public class AntClassLoaderTest extends BuildFileTest { fail("loader should not fail even if project finished"); } } + + public void testGetPackage() throws Exception { + executeTarget("prepareGetPackageTest"); + Path myPath = new Path(getProject()); + myPath.setLocation(new File(getProject().getProperty("tmp.dir") + + "/test.jar")); + getProject().setUserProperty("build.sysclasspath","ignore"); + AntClassLoader loader = getProject().createClassLoader(myPath); + assertNotNull("should find class", loader.findClass("org.example.Foo")); + assertNotNull("should find package", + new GetPackageWrapper(loader).getPackage("org.example")); + } + + private static class GetPackageWrapper extends ClassLoader { + GetPackageWrapper(ClassLoader parent) { + super(parent); + } + public Package getPackage(String s) { + return super.getPackage(s); + } + } }