From 35eaa950b89ab75edfadf36ada8fb258f54e8d1b Mon Sep 17 00:00:00 2001 From: Conor MacNeill Date: Fri, 20 Dec 2002 13:57:12 +0000 Subject: [PATCH] Add test cases for class fileset to pick up new dependency types PR: 13273 Obtained from: Jesse git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273677 13f79535-47bb-0310-9956-ffa450edef68 --- .../taskdefs/optional/depend/depend.xml | 4 +++ .../taskdefs/optional/depend/src1/E.java | 6 +++++ .../optional/depend/ClassFileSetTest.java | 27 +++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/etc/testcases/taskdefs/optional/depend/src1/E.java diff --git a/src/etc/testcases/taskdefs/optional/depend/depend.xml b/src/etc/testcases/taskdefs/optional/depend/depend.xml index 11430da9e..0493e9b2a 100644 --- a/src/etc/testcases/taskdefs/optional/depend/depend.xml +++ b/src/etc/testcases/taskdefs/optional/depend/depend.xml @@ -97,6 +97,10 @@ + + + + diff --git a/src/etc/testcases/taskdefs/optional/depend/src1/E.java b/src/etc/testcases/taskdefs/optional/depend/src1/E.java new file mode 100644 index 000000000..c8f89f2d2 --- /dev/null +++ b/src/etc/testcases/taskdefs/optional/depend/src1/E.java @@ -0,0 +1,6 @@ +public class E { + E() { + System.out.println(A.class); + } +} + diff --git a/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java b/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java index eded10aa8..aaf422cac 100644 --- a/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java +++ b/src/testcases/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java @@ -158,4 +158,31 @@ public class ClassFileSetTest extends BuildFileTest { public void testByReference() { executeTarget("testbyreference"); } + + /** + * Test that classes included in a method "System.out.println(MyClass.class)" are included. + */ + public void testMethodParam() { + Project project = getProject(); + executeTarget("testmethodparam"); + FileSet resultFileSet = (FileSet)project.getReference(RESULT_FILESET); + DirectoryScanner scanner = resultFileSet.getDirectoryScanner(project); + String[] scannedFiles = scanner.getIncludedFiles(); + Hashtable files = new Hashtable(); + for (int i = 0; i < scannedFiles.length; ++i) { + files.put(scannedFiles[i], scannedFiles[i]); + } + assertEquals("Classfileset did not pick up expected number of " + + "class files", 5, files.size()); + assertTrue("Result did not contain A.class", + files.containsKey("A.class")); + assertTrue("Result did not contain B.class", + files.containsKey("B.class")); + assertTrue("Result did not contain C.class", + files.containsKey("C.class")); + assertTrue("Result did not contain D.class", + files.containsKey("D.class")); + assertTrue("Result did not contain E.class", + files.containsKey("E.class")); + } }