Browse Source

New task container test, which fails. This doesn't fail as badly

under 1.5.x but nevertheless is not functional


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274398 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 22 years ago
parent
commit
224400e507
4 changed files with 75 additions and 0 deletions
  1. +1
    -0
      build.xml
  2. +38
    -0
      src/etc/testcases/core/containersrc/test/SpecialSeq.java
  3. +23
    -0
      src/etc/testcases/core/taskcontainer.xml
  4. +13
    -0
      src/testcases/org/apache/tools/ant/TaskContainerTest.java

+ 1
- 0
build.xml View File

@@ -302,6 +302,7 @@
<patternset id="teststhatfail">
<exclude name="${optional.package}/BeanShellScriptTest.java"/>
<exclude name="${ant.package}/taskdefs/ImportTest.java"/>
  <exclude name="${ant.package}/TaskContainerTest.java"/>
</patternset>

<!--


+ 38
- 0
src/etc/testcases/core/containersrc/test/SpecialSeq.java View File

@@ -0,0 +1,38 @@
package test;

import org.apache.tools.ant.Task;
import org.apache.tools.ant.TaskContainer;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.FileSet;
import java.util.*;

public class SpecialSeq extends Task implements TaskContainer {
/** Optional Vector holding the nested tasks */
private Vector nestedTasks = new Vector();

private FileSet fileset;
/**
* Add a nested task.
* <p>
* @param nestedTask Nested task to execute
* <p>
*/
public void addTask(Task nestedTask) {
nestedTasks.addElement(nestedTask);
}

/**
* Execute all nestedTasks.
*/
public void execute() throws BuildException {
for (Enumeration e = nestedTasks.elements(); e.hasMoreElements();) {
Task nestedTask = (Task) e.nextElement();
nestedTask.perform();
}
}

public void addFileset(FileSet fileset) {
this.fileset = fileset;
}
}

+ 23
- 0
src/etc/testcases/core/taskcontainer.xml View File

@@ -1,7 +1,11 @@
<project default="dont-run-this">

<property name="build.dir" value="build"/>
<target name="dont-run-this">
<fail>This build file is supposed to be run by a Unit test</fail>
</target>

<target name="testPropertyExpansion">
<sequential>
@@ -10,4 +14,23 @@
<echo>As nested text: ${foo}</echo>
</sequential>
</target>

<target name="testTaskdef">
<mkdir dir="${build.dir}"/>
<javac srcdir="containersrc" destdir="${build.dir}" debug="on"/>

<sequential>
<taskdef name="sseq" classpath="${build.dir}" classname="test.SpecialSeq"/>
<sseq>
<property name="foo" value="it worked"/>
<echo message="As attribute: ${foo}"/>
<echo>As nested text: ${foo}</echo>
</sseq>
</sequential>
</target>

<target name="cleanup">
<delete dir="${build.dir}"/>
</target>
</project>

+ 13
- 0
src/testcases/org/apache/tools/ant/TaskContainerTest.java View File

@@ -64,6 +64,10 @@ public class TaskContainerTest extends BuildFileTest {
configureProject("src/etc/testcases/core/taskcontainer.xml");
}

public void tearDown() {
executeTarget("cleanup");
}

public void testPropertyExpansion() {
executeTarget("testPropertyExpansion");
assertTrue("attribute worked",
@@ -71,4 +75,13 @@ public class TaskContainerTest extends BuildFileTest {
assertTrue("nested text worked",
getLog().indexOf("As nested text: it worked") > -1);
}

public void testTaskdef() {
executeTarget("testTaskdef");
assertTrue("attribute worked",
getLog().indexOf("As attribute: it worked") > -1);
assertTrue("nested text worked",
getLog().indexOf("As nested text: it worked") > -1);
}

}

Loading…
Cancel
Save