ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peterrei...@apache.org
Subject svn commit: r451476 - in /ant/core/trunk/src: etc/testcases/core/unknownelement.xml tests/junit/org/apache/tools/ant/UnknownElementTest.java
Date Fri, 29 Sep 2006 22:17:25 GMT
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: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message