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++],