From 5d2160ae427fd53d38c682107898ac625120229e Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 10 Oct 2003 13:17:34 +0000 Subject: [PATCH] Tests for PR 23601 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275438 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/ant.xml | 7 +++++ src/etc/testcases/taskdefs/bar.properties | 1 + src/etc/testcases/taskdefs/foo.properties | 1 + .../apache/tools/ant/taskdefs/AntTest.java | 27 +++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 src/etc/testcases/taskdefs/bar.properties create mode 100644 src/etc/testcases/taskdefs/foo.properties 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++],