diff --git a/src/etc/testcases/taskdefs/ant.xml b/src/etc/testcases/taskdefs/ant.xml
index a802a755e..bf4357b64 100644
--- a/src/etc/testcases/taskdefs/ant.xml
+++ b/src/etc/testcases/taskdefs/ant.xml
@@ -185,4 +185,11 @@
+
+
+
+
+
+
+
diff --git a/src/etc/testcases/taskdefs/bar.properties b/src/etc/testcases/taskdefs/bar.properties
new file mode 100644
index 000000000..29588147b
--- /dev/null
+++ b/src/etc/testcases/taskdefs/bar.properties
@@ -0,0 +1 @@
+bar=Bar
diff --git a/src/etc/testcases/taskdefs/foo.properties b/src/etc/testcases/taskdefs/foo.properties
new file mode 100644
index 000000000..9e4e090a4
--- /dev/null
+++ b/src/etc/testcases/taskdefs/foo.properties
@@ -0,0 +1 @@
+foo=Foo
diff --git a/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java b/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
index a3ef00610..c63e2dab6 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/AntTest.java
@@ -314,6 +314,26 @@ public class AntTest extends BuildFileTest {
expectLog("topleveltarget", "Hello world");
}
+ public void testMultiplePropertyFileChildren() {
+ PropertyChecker pcBar = new PropertyChecker("bar",
+ new String[] {null, "Bar"});
+ PropertyChecker pcFoo = new PropertyChecker("foo",
+ new String[] {null, "Foo"});
+ project.addBuildListener(pcBar);
+ project.addBuildListener(pcFoo);
+ executeTarget("multiple-property-file-children");
+ AssertionFailedError aeBar = pcBar.getError();
+ if (aeBar != null) {
+ throw aeBar;
+ }
+ AssertionFailedError aeFoo = pcFoo.getError();
+ if (aeFoo != null) {
+ throw aeFoo;
+ }
+ project.removeBuildListener(pcBar);
+ project.removeBuildListener(pcFoo);
+ }
+
private class BasedirChecker implements BuildListener {
private String[] expectedBasedirs;
private int calls = 0;
@@ -472,6 +492,7 @@ public class AntTest extends BuildFileTest {
private String key;
private int calls = 0;
private AssertionFailedError error;
+ private String message = "";
PropertyChecker(String key, String[] values) {
this.key = key;
@@ -489,6 +510,12 @@ public class AntTest extends BuildFileTest {
if (event.getTarget().getName().equals("")) {
return;
}
+ message += ", " + event.getTarget().getName();
+ if (calls >= expectedValues.length) {
+ error = new AssertionFailedError("Unexpected invocation of"
+ + " target " + message);
+ }
+
if (error == null) {
try {
assertEquals(expectedValues[calls++],