<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="test.src.dir" value="${basedir}/src/test"/>
<property name="test.build.dir" value="${basedir}/build/test-classes"/>
+ <property name="test.run.dir" value="${basedir}/runtest"/>
<property name="test.reports.dir" value = "${basedir}/build/test-output"/>
<property name="run.dir" value="${build.classes.dir}"/>
<path id="test.classpath">
<pathelement location="${test.build.dir}"/>
<pathelement location="${lib.dir}/junit.jar"/>
- <pathelement location="${build.classes.dir}"/>
+ <pathelement location="${build.classes.dir}"/>
</path>
<property name="test.classpath" refid="test.classpath"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes.dir}"/>
<mkdir dir="${test.build.dir}"/>
- <mkdir dir="${test.reports.dir}"/>
+ <mkdir dir="${test.reports.dir}"/>
+ <mkdir dir="${test.run.dir}"/>
</target>
<!-- =================================================================== -->
</javac>
</target>
- <target name="test" depends="test-compile">
- <junit fork="true" printsummary="true">
+ <target name="runtest" depends="test-compile">
+ <junit fork="true" printsummary="true" dir="${test.run.dir}">
<classpath refid="test.classpath"/>
- <formatter type="plain"/>
- <formatter type="xml"/>
- <batchtest todir="${test.reports.dir}">
- <fileset dir="${test.build.dir}">
- <include name="**/*Test.*"/>
- </fileset>
- </batchtest>
+ <formatter type="xml" extension=".xml"/>
+ <test name="javassist.JvstTest" outfile="TestLog" />
</junit>
</target>
cc = sloader.get("test4.NestedClass");
tab = cc.getNestedClasses();
+ for (CtClass c: tab) {
+ System.err.println(c.getName());
+ }
assertEquals(4, tab.length);
for (CtClass c: tab) {
String name = c.getName();
fail("test4no was found!");
}
catch (CannotCompileException e) {
- System.err.println(e);
+ System.out.println(e);
}
cc.writeFile();
Object obj = make(cc.getName());
assertEquals(110, invoke(obj, "run"));
}
+
+ public void testAaload() throws Exception {
+ CtClass clazz = sloader.get("test4.Aaload");
+ CtMethod method = clazz.getMethod("narf", "()V");
+ method.instrument(new ExprEditor() {
+ @Override
+ public void edit(MethodCall call) throws CannotCompileException {
+ String name = call.getMethodName();
+ if (name.equals("addActionListener"))
+ call.replace("$0." + name + "($$);");
+ }
+ });
+ }
}