Author: peterreilly
Date: Fri Sep 29 15:17:24 2006
New Revision: 451476
URL: http://svn.apache.org/viewvc?view=rev&rev=451476
Log:
test for unknownelement.maybecondifure
Added:
ant/core/trunk/src/etc/testcases/core/unknownelement.xml
ant/core/trunk/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java
Added: ant/core/trunk/src/etc/testcases/core/unknownelement.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/etc/testcases/core/unknownelement.xml?view=auto&rev=451476
==============================================================================
--- ant/core/trunk/src/etc/testcases/core/unknownelement.xml (added)
+++ ant/core/trunk/src/etc/testcases/core/unknownelement.xml Fri Sep 29
15:17:24 2006
@@ -0,0 +1,19 @@
+<project>
+ <target name="testMaybeConfigure">
+ <taskdef name="parent"
+ classname="org.apache.tools.ant.UnknownElementTest$Parent"
+ loaderref="unknown.id">
+ <classpath>
+ <pathelement location="../../../../build/testcases"/>
+ <pathelement path="${java.class.path}"/>
+ </classpath>
+ </taskdef>
+ <taskdef name="child"
+ classname="org.apache.tools.ant.UnknownElementTest$Child"
+ loaderref="unknown.id"/>
+ <parent>
+ <child/>
+ <child/>
+ </parent>
+ </target>
+</project>
Added:
ant/core/trunk/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java?view=auto&rev=451476
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java
(added)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java
Fri Sep 29 15:17:24 2006
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+
+public class UnknownElementTest extends BuildFileTest {
+ public void setUp() {
+ configureProject("src/etc/testcases/core/unknownelement.xml");
+ }
+ public void testMaybeConfigure() {
+ // make sure we do not get a NPE
+ executeTarget("testMaybeConfigure");
+ }
+
+ public static class Child extends Task {
+ Parent parent;
+ public void injectParent(Parent parent) {
+ this.parent = parent;
+ }
+ public void execute() {
+ parent.fromChild();
+ }
+ }
+
+ public static class Parent extends Task implements TaskContainer {
+ List children = new ArrayList();
+ public void addTask(Task t) {
+ children.add(t);
+ }
+
+ public void fromChild() {
+ log("fromchild");
+ }
+
+ public void execute() {
+ for (Iterator i = children.iterator(); i.hasNext();) {
+ UnknownElement el = (UnknownElement) i.next();
+ el.maybeConfigure();
+ Child child = (Child) el.getRealThing();
+ child.injectParent(this);
+ child.perform();
+ }
+ }
+ }
+}
+
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]