Browse Source

passing test for PR 43994

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@796667 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
22d3473e8e
2 changed files with 35 additions and 2 deletions
  1. +14
    -2
      src/etc/testcases/core/antclassloader.xml
  2. +21
    -0
      src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java

+ 14
- 2
src/etc/testcases/core/antclassloader.xml View File

@@ -17,9 +17,9 @@
-->
<project name="antclassloader-test" basedir=".">

<property name="tmp.dir" location="tmp space"/>
<property name="tmp.dir" location="${java.io.tmpdir}/tmp space"/>
<!-- ant for germans -->
<property name="tmp.dir.nonascii" value="&#0227;nt"/>
<property name="tmp.dir.nonascii" value="${java.io.tmpdir}/&#0227;nt"/>
<property name="ext.dir.relative" value="ext"/>
<property name="main.jar" location="${tmp.dir}/main.jar"/>
<property name="ext.jar.relative" value="${ext.dir.relative}/ext.jar"/>
@@ -54,5 +54,17 @@
<delete dir="${tmp.dir.nonascii}" quiet="true"/>
</target>

<target name="prepareGetPackageTest" depends="setup">
<mkdir dir="${tmp.dir.nonascii}/org/example"/>
<echo file="${tmp.dir.nonascii}/org/example/Foo.java"><![CDATA[
package org.example;
public class Foo {}
]]></echo>
<javac srcdir="${tmp.dir.nonascii}"
destdir="${tmp.dir.nonascii}"/>
<jar destfile="${tmp.dir}/test.jar">
<fileset dir="${tmp.dir.nonascii}" includes="**/*.class"/>
</jar>
</target>

</project>

+ 21
- 0
src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java View File

@@ -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);
}
}
}

Loading…
Cancel
Save