aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/addtype.xml163
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml205
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionMain.java31
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionTest.java45
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description1.xml22
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description2.xml23
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description3.xml23
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description4.xml23
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filelist.xml54
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterset.xml146
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterseta.txt2
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetb.txt5
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetc.txt7
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetd.txt1
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile12
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile21
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/flexinteger.xml35
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset1.txt2
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset2.txt5
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset3.txt7
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mapper.xml67
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/define.mapperresult.xml25
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/globmapper.xml32
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/regexpmapper.xml32
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/scriptmapper.xml58
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/poly.xml62
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote1.xml25
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote2.xml26
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/redirector.xml79
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/javaresource.xml24
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/resourcelist.xml26
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/tarentry.xml40
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors.xml356
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/scriptselector.xml138
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/signedselector.xml61
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xml150
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xsl47
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog1.xml30
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog2.xml27
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlfragment.xml31
40 files changed, 2138 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/addtype.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/addtype.xml
new file mode 100644
index 00000000..cc8ff24c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/addtype.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" basedir=".">
+
+ <target name="addpath">
+ <typedef name="mypath" classname="org.apache.tools.ant.types.Path"/>
+ <path>
+ <mypath path="build.xml"/>
+ </path>
+ </target>
+
+ <target name="addcondition">
+ <typedef name="mycondition"
+ classname="org.apache.tools.ant.taskdefs.condition.Equals"/>
+ <condition property="mycondition.set">
+ <mycondition arg1="string" arg2="string"/>
+ </condition>
+ <fail unless="mycondition.set"/>
+ </target>
+
+ <target name="addfilter">
+ <typedef name="headfilter2"
+ classname="org.apache.tools.ant.filters.HeadFilter"/>
+ <concat>This is line 1
+ This is line 2
+ This is line 3
+ <filterchain>
+ <headfilter2 lines="2"/>
+ </filterchain>
+ </concat>
+ </target>
+
+ <target name="addselector">
+ <typedef
+ name="myselector"
+ classname="org.apache.tools.ant.types.selectors.ContainsSelector"/>
+ <fileset id="myselector.test" dir="${basedir}" includes="*">
+ <myselector text="myselector"/>
+ </fileset>
+ </target>
+
+ <target name="init">
+ <property name="nested.package" value="org.apache.tools.ant.types."/>
+ <path id="test-classes">
+ <pathelement location="../../../../build/testcases" />
+ <pathelement path="${java.class.path}" />
+ </path>
+ <typedef loaderref="nested.loader" classpathref="test-classes"
+ name = "nested.a"
+ classname="${nested.package}AddTypeTest$AImpl"/>
+ <typedef loaderref="nested.loader"
+ name = "nested.b"
+ classname="${nested.package}AddTypeTest$BImpl"/>
+ <typedef loaderref="nested.loader"
+ name = "nested.c"
+ classname="${nested.package}AddTypeTest$CImpl"/>
+ <typedef loaderref="nested.loader"
+ name = "nested.ab"
+ classname="${nested.package}AddTypeTest$ABImpl"/>
+ <taskdef loaderref="nested.loader"
+ name = "nested.container"
+ classname="${nested.package}AddTypeTest$NestedContainer"/>
+ <taskdef loaderref="nested.loader"
+ name = "nested.condition.task"
+ classname="${nested.package}AddTypeTest$MyCondition"/>
+ <typedef loaderref="nested.loader"
+ name = "nested.condition.type"
+ classname="${nested.package}AddTypeTest$MyCondition"/>
+ <typedef loaderref="nested.loader"
+ name = "myaddconfigured"
+ classname="${nested.package}AddTypeTest$MyAddConfigured"/>
+ <typedef loaderref="nested.loader"
+ name = "myaddconfiguredvalue"
+ classname="${nested.package}AddTypeTest$MyAddConfiguredValue"/>
+ <typedef loaderref="nested.loader"
+ name = "myvalue"
+ classname="${nested.package}AddTypeTest$MyValue"/>
+ </target>
+
+ <target name="nested.a" depends="init">
+ <nested.container>
+ <nested.a/>
+ </nested.container>
+ </target>
+
+ <target name="nested.b" depends="init">
+ <nested.container>
+ <nested.b/>
+ </nested.container>
+ </target>
+
+ <target name="nested.c" depends="init">
+ <nested.container>
+ <nested.c/>
+ </nested.container>
+ </target>
+
+ <target name="nested.ab" depends="init">
+ <nested.container>
+ <nested.ab/>
+ </nested.container>
+ </target>
+
+ <!-- tests for task adaptor -->
+ <target name="condition.type" depends="init">
+ <echo>before</echo>
+ <nested.condition.type/>
+ <echo>after</echo>
+ </target>
+
+ <target name="condition.task" depends="init">
+ <echo>before</echo>
+ <nested.condition.task/>
+ <echo>after</echo>
+ </target>
+
+ <target name="condition.condition.type" depends="init">
+ <condition property="condition.condition.type">
+ <nested.condition.type/>
+ </condition>
+ </target>
+
+ <target name="condition.condition.task" depends="init">
+ <condition property="condition.condition.task">
+ <nested.condition.task/>
+ </condition>
+ </target>
+
+ <target name="myaddconfigured" depends="init">
+ <myaddconfigured>
+ <myvalue>Value Set</myvalue>
+ </myaddconfigured>
+ </target>
+
+ <target name="myaddconfiguredvalue" depends="init">
+ <myaddconfiguredvalue>
+ <value>Value Set</value>
+ </myaddconfiguredvalue>
+ </target>
+
+ <target name="namespacetest" xmlns:prefix="uri">
+ <typedef name="eq" uri="uri"
+ classname="org.apache.tools.ant.taskdefs.condition.Equals"/>
+ <condition property="p">
+ <prefix:eq arg1="a" arg2="b"/>
+ </condition>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml
new file mode 100644
index 00000000..dee7ce7c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml
@@ -0,0 +1,205 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+
+<project name="assertions" basedir="." default="tearDown">
+
+ <import file="../buildfiletest-base.xml"/>
+
+ <target name="setUp">
+ <available property="jdk1.6+" classname="java.net.CookieStore"/>
+ <condition property="source" value="6">
+ <isset property="jdk1.6+"/>
+ </condition>
+ <property name="source" value="1.4"/>
+ <mkdir dir="${output}"/>
+ <javac srcdir="${src.dir}"
+ includes="*.java"
+ source="${source}"
+ debug="true"
+ destdir="${output}"
+ />
+ </target>
+
+ <property name="src.dir" location="assertions"/>
+ <property name="classname" value="AssertionMain"/>
+ <property name="test.classname" value="AssertionTest"/>
+
+ <path id="assert.classpath">
+ <pathelement location="${output}"/>
+ </path>
+
+
+ <!-- if per-class assertions work, this run asserts -->
+ <target name="test-classname" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- if package works, this run asserts -->
+ <target name="test-package" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- this test should run the app successfully -->
+ <target name="test-empty-assertions" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions/>
+ </java>
+ </target>
+
+ <!-- this test should run the app successfully -->
+ <target name="test-disable" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- repeated settigns result in the last declaration winning
+ except that the rule 'classes win over packages takes priority
+ this run will assert -->
+ <target name="test-override" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <disable class="${classname}" />
+ <enable class="${classname}" />
+ <disable package="..." />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- repeated settigns result in the last declaration winning;
+ this run will not assert -->
+ <target name="test-override2" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <enable class="${classname}" />
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- if references work, this run asserts -->
+ <target name="test-references">
+ <assertions id="project.assertions" >
+ <enable package="org.apache.test" />
+ <disable package="org.apache.log4j"/>
+ <enable package="..."/>
+ </assertions>
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions refid="project.assertions"/>
+ </java>
+ </target>
+
+ <!-- when fork=false; we need to reject the construct -->
+ <target name="test-nofork" depends="setUp">
+ <java fork="false" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- this throws a build error -->
+ <target name="test-multiple-assertions" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ <assertions/>
+ </java>
+ </target>
+
+ <!-- should throw a build exception -->
+ <target name="test-reference-abuse" depends="setUp">
+ <assertions id="project.assertions2" >
+ <enable package="org.apache.test" />
+ <disable package="org.apache.log4j"/>
+ <enable package="..."/>
+ </assertions>
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions refid="project.assertions2">
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+
+ <target name="test-junit" depends="setUp">
+ <junit fork="true"
+ haltonerror="true" haltonfailure="true"
+ >
+ <classpath>
+ <path refid="assert.classpath"/>
+ </classpath>
+ <formatter type="plain" usefile="false"/>
+ <assertions >
+ <enable class="${test.classname}" />
+ </assertions>
+ <test name="${test.classname}"/>
+ </junit>
+ </target>
+
+ <!-- This is here to show that setting it as a property works
+ so there is some defect in pass-on of assertions that
+ is causing the problem -->
+ <target name="test-junit-manual-setup" depends="setUp">
+ <junit fork="true"
+ haltonerror="true" haltonfailure="true"
+ >
+ <classpath>
+ <path refid="assert.classpath"/>
+ </classpath>
+ <formatter type="plain" usefile="false"/>
+ <test name="${test.classname}"/>
+ <jvmarg value="-ea:AssertionTest"/>
+ </junit>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionMain.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionMain.java
new file mode 100644
index 00000000..f4aa6906
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionMain.java
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ */
+
+
+/**
+ * this is an assertion tester
+ * It has a main() entry
+ */
+public class AssertionMain {
+
+ public static void main(String args[]) {
+ assert true == false : "there exist no facts that are both true and false";
+ System.out.println("Assertions are disabled");
+ }
+
+}
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionTest.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionTest.java
new file mode 100644
index 00000000..19ed2df1
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions/AssertionTest.java
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ *
+ */
+
+ import junit.framework.TestCase;
+
+/**
+ * this is an assertion tester for junit
+ */
+public class AssertionTest extends TestCase {
+
+ public AssertionTest(String name) {
+ super(name);
+ }
+
+ public void testAssertRaised() {
+ try {
+ assert true == false;
+ fail("expected an assertion");
+ } catch(AssertionError asserto) {
+ //if we got here, all was well
+ }
+ }
+
+
+ public void testAssertNotRaised() {
+ assert(2+2==4);
+ }
+
+
+}
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description1.xml
new file mode 100644
index 00000000..86a2a165
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description1.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="main" basedir=".">
+ <description>Test Project Description</description>
+ <target name="main">
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description2.xml
new file mode 100644
index 00000000..945bc20d
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="main" basedir=".">
+ <description>Multi Line
+Project Description</description>
+ <target name="main">
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description3.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description3.xml
new file mode 100644
index 00000000..af5dda11
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description3.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="main" basedir=".">
+ <description>Multi Instance </description>
+ <description>Project Description</description>
+ <target name="main">
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description4.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description4.xml
new file mode 100644
index 00000000..22df9c2d
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/description4.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="main" basedir=".">
+ <description>Multi Instance </description>
+ <target name="main">
+ <description>Nested Project Description</description>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filelist.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filelist.xml
new file mode 100644
index 00000000..f854ddbb
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filelist.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test">
+ <target name="simple">
+ <filelist id="filelist"
+ dir="${basedir}"
+ files="a"/>
+ <pathconvert targetos="unix" refid="filelist"
+ property="property">
+ <map from="${basedir}" to="/abc"/>
+ </pathconvert>
+ <echo>${property}</echo>
+ </target>
+
+ <target name="double">
+ <filelist id="filelist"
+ dir="${basedir}"
+ files="a b"/>
+ <pathconvert targetos="unix" refid="filelist"
+ property="property">
+ <map from="${basedir}" to="/abc"/>
+ </pathconvert>
+ <echo>${property}</echo>
+ </target>
+
+ <target name="nested">
+ <filelist id="filelist"
+ dir="${basedir}">
+ <file name="a"/>
+ <file name="b"/>
+ </filelist>
+ <pathconvert targetos="unix" refid="filelist"
+ property="property">
+ <map from="${basedir}" to="/abc"/>
+ </pathconvert>
+ <echo>${property}</echo>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterset.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterset.xml
new file mode 100644
index 00000000..bf291e7d
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterset.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="new" basedir=".">
+ <filterset id="testset.one">
+ <filter token="aaaa" value="1111"/>
+ <filter token="bbbb" value="2222"/>
+ </filterset>
+
+ <filterset id="testset.two" beginToken="%" endToken="^">
+ <filter token="cccc" value="3333"/>
+ <filter token="dddd" value="4444"/>
+ </filterset>
+
+ <target name="test1">
+ <delete file="dest1.txt"/>
+ <copy file="filterseta.txt" tofile="dest1.txt">
+ <filterset refid="testset.one"/>
+ </copy>
+ </target>
+
+ <target name="test2">
+ <delete file="dest2.txt"/>
+ <copy file="filtersetb.txt" tofile="dest2.txt">
+ <filterset refid="testset.two"/>
+ </copy>
+ </target>
+
+ <target name="test3">
+ <delete file="dest3.txt"/>
+ <copy file="filtersetc.txt" tofile="dest3.txt">
+ <filterset refid="testset.one"/>
+ <filterset refid="testset.two"/>
+ </copy>
+ </target>
+
+ <target name="test-nested-filtersets">
+ <filterset id="1">
+ <filter token="token1" value="value1"/>
+ </filterset>
+ <filterset id="2">
+ <filterset refid="testset.one"/>
+ </filterset>
+ <filterset id="3">
+ <filterset id="4">
+ <filter token="token4" value="value4"/>
+ </filterset>
+ </filterset>
+ <filterset id="5">
+ <filterset refid="1"/>
+ </filterset>
+ </target>
+
+ <target name="testFiltersFileElement">
+ <copy file="filtersetd.txt" tofile="dest4.txt">
+ <filterset>
+ <filtersfile file="filtersfile1" />
+ </filterset>
+ </copy>
+ <fail>
+ <condition>
+ <not>
+ <resourcesmatch asText="true">
+ <file file="dest4.txt" />
+ <string value="FOO BAR @baz@ @blah@" />
+ </resourcesmatch>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="testFiltersFileAttribute">
+ <copy file="filtersetd.txt" tofile="dest5.txt">
+ <filterset filtersfile="filtersfile1" />
+ </copy>
+ <fail>
+ <condition>
+ <not>
+ <resourcesmatch asText="true">
+ <file file="dest5.txt" />
+ <string value="FOO BAR @baz@ @blah@" />
+ </resourcesmatch>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="testMultipleFiltersFiles">
+ <copy file="filtersetd.txt" tofile="dest6.txt">
+ <filterset filtersfile="filtersfile1">
+ <filtersfile file="filtersfile2" />
+ </filterset>
+ </copy>
+ <fail>
+ <condition>
+ <not>
+ <resourcesmatch asText="true">
+ <file file="dest6.txt" />
+ <string value="FOO BAR BAZ @blah@" />
+ </resourcesmatch>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="testMissingFiltersFile">
+ <copy file="filtersetd.txt" tofile="dest7.txt">
+ <filterset filtersfile="nonexistentfiltersfile" />
+ </copy>
+ </target>
+
+ <target name="testAllowMissingFiltersFile">
+ <copy file="filtersetd.txt" tofile="dest8.txt">
+ <filterset filtersfile="nonexistentfiltersfile"
+ onmissingfiltersfile="ignore" />
+ </copy>
+ <fail>
+ <condition>
+ <not>
+ <filesmatch file1="filtersetd.txt" file2="dest8.txt" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="cleanup">
+ <delete quiet="true">
+ <fileset dir="." includes="dest?.txt" />
+ </delete>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterseta.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterseta.txt
new file mode 100644
index 00000000..44049950
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filterseta.txt
@@ -0,0 +1,2 @@
+This is a test file for filters @aaaa@
+It has two lines @bbbb@
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetb.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetb.txt
new file mode 100644
index 00000000..f49640a3
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetb.txt
@@ -0,0 +1,5 @@
+This is a test file for filters with non default markers
+@cccc@ - should not change
+%cccc^ - should change
+^dddd% - should not change
+%dddd^ - should change
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetc.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetc.txt
new file mode 100644
index 00000000..2522d350
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetc.txt
@@ -0,0 +1,7 @@
+Combined filter test
+@aaaa@ - should change
+@bbbb@ - should change
+@cccc@ - should not change
+%cccc^ - should change
+^dddd% - should not change
+%dddd^ - should change
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetd.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetd.txt
new file mode 100644
index 00000000..45c4849e
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersetd.txt
@@ -0,0 +1 @@
+@foo@ @bar@ @baz@ @blah@
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile1 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile1
new file mode 100644
index 00000000..20fe058f
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile1
@@ -0,0 +1,2 @@
+foo=FOO
+bar=BAR
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile2 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile2
new file mode 100644
index 00000000..43c97f27
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/filtersfile2
@@ -0,0 +1 @@
+baz=BAZ
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/flexinteger.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/flexinteger.xml
new file mode 100644
index 00000000..aa10aa07
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/flexinteger.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" default="test" basedir=".">
+
+ <path id="testclasses">
+ <pathelement location="../../../../build/testcases" />
+ <pathelement path="${java.class.path}" />
+ </path>
+
+ <target name="test">
+ <taskdef name="flexint"
+ classname="org.apache.tools.ant.types.FlexIntegerTest"
+ classpathref="testclasses"
+ />
+
+ <flexint propname="flexint.value1" value="0xA"/>
+ <flexint propname="flexint.value2" value="010"/>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset1.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset1.txt
new file mode 100644
index 00000000..975416f5
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset1.txt
@@ -0,0 +1,2 @@
+This is a test file for filters 1111
+It has two lines 2222
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset2.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset2.txt
new file mode 100644
index 00000000..eaab0215
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset2.txt
@@ -0,0 +1,5 @@
+This is a test file for filters with non default markers
+@cccc@ - should not change
+3333 - should change
+^dddd% - should not change
+4444 - should change
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset3.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset3.txt
new file mode 100644
index 00000000..3516e62b
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/gold/filterset3.txt
@@ -0,0 +1,7 @@
+Combined filter test
+1111 - should change
+2222 - should change
+@cccc@ - should not change
+3333 - should change
+^dddd% - should not change
+4444 - should change
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mapper.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mapper.xml
new file mode 100644
index 00000000..a96f10cb
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mapper.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+
+<project name="copy-test" basedir="." default="test1">
+
+ <import file="../buildfiletest-base.xml"/>
+
+ <target name="setUp">
+ <mkdir dir="${output}" />
+ </target>
+
+ <target name="test1" depends="setUp">
+ <union id="source.resourcecollection">
+ <fileset dir="../../../main">
+ <include name="**/taskdefs/*.java" />
+ </fileset>
+ <fileset dir="../../../tests/junit">
+ <include name="**/taskdefs/*.java" />
+ </fileset>
+ </union>
+ <copy todir="${output}">
+ <union refid="source.resourcecollection"/>
+ <mapper type="flatten" />
+ </copy>
+ <resourcecount property="sourcefiles.count">
+ <union refid="source.resourcecollection"/>
+ </resourcecount>
+ <resourcecount property="destfiles.count">
+ <fileset dir="${output}"/>
+ </resourcecount>
+ <resourcecount property="destdirs.count">
+ <dirset dir="${output}"/>
+ </resourcecount>
+ <fail message="different number of files in source and destination ${sourcefiles.count} ${destfiles.count}">
+ <condition>
+ <not>
+ <equals arg1="${sourcefiles.count}" arg2="${destfiles.count}"/>
+ </not>
+ </condition>
+ </fail>
+ <!-- one expects the output of resourcecount on a dirset which does not contain subdirectories to be 1 -->
+ <!-- it looks like the folder of the dirset itself is counted -->
+ <fail message="flatten mapper should not copy folders">
+ <condition>
+ <not>
+ <equals arg1="${destdirs.count}" arg2="1"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/define.mapperresult.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/define.mapperresult.xml
new file mode 100644
index 00000000..d9152a1c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/define.mapperresult.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <typedef name="mapperresult"
+ classpath="../../../../../build/testcases"
+ classname="org.apache.tools.ant.types.mappers.MapperResult"/>
+
+ <!-- this is what you get with no result -->
+ <property name="no-results" value="&lt;NULL&gt;" />
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/globmapper.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/globmapper.xml
new file mode 100644
index 00000000..1666d810
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/globmapper.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <import file="define.mapperresult.xml"/>
+
+ <target name="handle.dirsep">
+ <mapperresult input="d\e/f/j.java" output="f/j.java">
+ <globmapper from="d/e\*" to="*" handledirsep="yes"/>
+ </mapperresult>
+ </target>
+
+ <target name="ignore.case">
+ <mapperresult input="AbcDef.JaVa" output="bcDef.java.bak">
+ <globmapper from="a*.java" to="*.java.bak" casesensitive="no"/>
+ </mapperresult>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/regexpmapper.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/regexpmapper.xml
new file mode 100644
index 00000000..a85c49cf
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/regexpmapper.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <import file="define.mapperresult.xml"/>
+
+ <target name="ignore.case">
+ <mapperresult input="AbcDef.javA" output="bcDef.java.bak">
+ <regexpmapper from="a(.*).JaVa" to="\1.java.bak" casesensitive="no"/>
+ </mapperresult>
+ </target>
+
+ <target name="handle.dirsep">
+ <mapperresult input="d\e/f\j.java" output="f/j.java">
+ <regexpmapper from="d/e/(.*)" to="\1" handledirsep="yes"/>
+ </mapperresult>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/scriptmapper.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/scriptmapper.xml
new file mode 100644
index 00000000..d3e7a8d0
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/mappers/scriptmapper.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="scriptmapper">
+ <import file="define.mapperresult.xml"/>
+
+
+ <target name="testSetSingle">
+ <mapperresult input="" output="a">
+ <scriptmapper language="javascript">
+ self.addMappedName("a");
+ </scriptmapper>
+ </mapperresult>
+ </target>
+
+ <target name="testClear">
+ <mapperresult input="" output="${no-results}">
+ <scriptmapper language="javascript">
+ self.addMappedName("a");
+ self.clear();
+ </scriptmapper>
+ </mapperresult>
+ </target>
+
+ <target name="testSetMultiple">
+ <mapperresult input="" output="a|b">
+ <scriptmapper language="javascript">
+ self.addMappedName("a");
+ self.addMappedName("b");
+ </scriptmapper>
+ </mapperresult>
+ </target>
+
+ <target name="testPassthrough">
+ <mapperresult input="a" output="A|a">
+ <scriptmapper language="javascript">
+ //relying on "a" to map to "A" on all locales.
+ self.addMappedName(source.toUpperCase());
+ self.addMappedName(source.toLowerCase());
+ </scriptmapper>
+ </mapperresult>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/poly.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/poly.xml
new file mode 100644
index 00000000..cabf9ece
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/poly.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="test" basedir=".">
+
+ <property name="c" value="org.apache.tools.ant.types.PolyTest"/>
+
+ <path id="test-c">
+ <pathelement location="../../../../build/testcases" />
+ <pathelement path="${java.class.path}" />
+ </path>
+
+ <target name="init">
+ <typedef loaderref="poly" classpathref="test-c"
+ name = "myfileset" classname="${c}$MyFileSet"/>
+
+ <typedef loaderref="poly" classpathref="test-c"
+ name = "mypath" classname="${c}$MyPath"/>
+
+ <typedef loaderref="poly" classpathref="test-c"
+ name = "mytask" classname="${c}$MyTask"/>
+ </target>
+
+ <target name="fileset" depends="init">
+ <mytask>
+ <fileset dir="."/>
+ </mytask>
+ </target>
+
+ <target name="fileset-ant-type" depends="init">
+ <mytask>
+ <fileset ant-type="myfileset" dir="."/>
+ </mytask>
+ </target>
+
+ <target name="path" depends="init">
+ <mytask>
+ <path path="."/>
+ </mytask>
+ </target>
+
+ <target name="path-ant-type" depends="init">
+ <mytask>
+ <path ant-type="mypath" path="."/>
+ </mytask>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote1.xml
new file mode 100644
index 00000000..8e77122c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote1.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+ <!-- I belong to:
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ -->
+
+<para>
+ A stitch in time saves nine
+</para>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote2.xml
new file mode 100644
index 00000000..ef9a3c3e
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/quote2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+ <!-- I belong to:
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ -->
+
+<para>
+ No news is good news
+</para>
+
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/redirector.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/redirector.xml
new file mode 100644
index 00000000..4784e9f0
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/redirector.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="redirector" basedir=".">
+
+ <target name="test1" description="create ref">
+ <redirector id="test1" output="out" />
+ </target>
+
+ <target name="test2" depends="test1" description="fail">
+ <redirector refid="test1" output="out" />
+ </target>
+
+ <target name="test3" depends="test1" description="fail">
+ <redirector refid="test1">
+ <outputmapper type="flatten" />
+ </redirector>
+ </target>
+
+ <target name="test4" depends="test1" description="pass">
+ <redirector>
+ <outputmapper type="flatten" />
+ </redirector>
+ </target>
+
+ <target name="testLogInputString" depends="cat-check" if="can-cat">
+ <echo>
+ testLogInputString can-cat
+ </echo>
+ <exec executable="cat">
+ <redirector inputstring="foo" loginputstring="false" />
+ </exec>
+ </target>
+
+ <target name="testRefid" depends="cat-check" if="can-cat">
+ <fail message="Property testRefid.out is already set!">
+ <condition>
+ <isset property="testRefid.out" />
+ </condition>
+ </fail>
+ <redirector id="r" outputproperty="testRefid.out" inputstring="foo" />
+ <exec executable="cat">
+ <redirector refid="r" />
+ </exec>
+ <fail>
+ <condition>
+ <not>
+ <equals arg1="${testRefid.out}" arg2="foo" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="cat-check">
+ <property environment="env" />
+ <condition property="can-cat">
+ <or>
+ <available file="cat" filepath="${env.PATH}" property="can-cat" />
+ <available file="cat.exe" filepath="${env.PATH}" property="can-cat" />
+ <available file="cat.exe" filepath="${env.Path}" property="can-cat" />
+ </or>
+ </condition>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/javaresource.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/javaresource.xml
new file mode 100644
index 00000000..83267623
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/javaresource.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <target name="loadManifest">
+ <loadresource property="manifest">
+ <javaresource name="META-INF/MANIFEST.MF"/>
+ </loadresource>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/resourcelist.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/resourcelist.xml
new file mode 100644
index 00000000..f1ac6df7
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/resourcelist.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+
+ <target name="tearDown">
+ </target>
+
+ <target name="setUp">
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/tarentry.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/tarentry.xml
new file mode 100644
index 00000000..c0fa379c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/resources/tarentry.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project default="not me">
+ <import file="../../buildfiletest-base.xml" optional="false"/>
+
+ <target name="setUp">
+ <mkdir dir="${output}"/>
+ </target>
+
+ <target name="not me">
+ <fail>only use from within unit tests</fail>
+ </target>
+
+ <target name="uncompressSource" depends="setUp">
+ <ant antfile="../../taskdefs/tar.xml" target="feather" />
+ <copy todir="${output}">
+ <tarentry name="asf-logo.gif">
+ <gzipresource>
+ <file file="../../taskdefs/expected/asf-logo.gif.tar.gz"/>
+ </gzipresource>
+ </tarentry>
+ </copy>
+ </target>
+
+</project> \ No newline at end of file
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors.xml
new file mode 100644
index 00000000..5a80d04a
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors.xml
@@ -0,0 +1,356 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+
+<project name="selectors-test" basedir="." default="setupfiles">
+
+ <import file="../buildfiletest-base.xml"/>
+
+ <target name="setUp">
+ <mkdir dir="${output}"/>
+ </target>
+ <property name="etc.dir" value=".."/>
+ <property name="test.dir"
+ value="${output}/selectortest"/>
+ <property name="testregexpsrc.dir"
+ value="${output}/regexpseltestsrc"/>
+ <property name="testregexpdest.dir"
+ value="${output}/regexpseltestdest"/>
+ <property name="mirror.dir"
+ value="${output}/selectortest2"/>
+
+ <target name="setupfiles">
+ <mkdir dir="${test.dir}" />
+ <mkdir dir="${test.dir}/zip" />
+ <mkdir dir="${test.dir}/tar" />
+ <mkdir dir="${test.dir}/tar/gz" />
+ <mkdir dir="${test.dir}/tar/bz2" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.md5"
+ tofile="${test.dir}/asf-logo.gif.md5" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.bz2"
+ tofile="${test.dir}/asf-logo.gif.bz2" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.gz"
+ tofile="${test.dir}/asf-logo.gif.gz" />
+ <copy file="${etc.dir}/taskdefs/expected/copy.filterset.filtered"
+ tofile="${test.dir}/copy.filterset.filtered" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.zip"
+ tofile="${test.dir}/zip/asf-logo.gif.zip" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar"
+ tofile="${test.dir}/tar/asf-logo.gif.tar" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.gz"
+ tofile="${test.dir}/tar/asf-logo-huge.tar.gz" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.gz"
+ tofile="${test.dir}/tar/gz/asf-logo.gif.tar.gz" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.bz2"
+ tofile="${test.dir}/tar/bz2/asf-logo.gif.tar.bz2" />
+ <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.bz2"
+ tofile="${test.dir}/tar/bz2/asf-logo-huge.tar.bz2" />
+ <!-- Make linefeeds consistent between platforms -->
+ <fixcrlf srcdir="${test.dir}" includes="*.filtered" eol="lf"/>
+ <!-- Set a known base time for all files -->
+ <touch datetime="11/21/2001 4:55 AM">
+ <fileset dir="${test.dir}">
+ <include name="**/*"/>
+ </fileset>
+ </touch>
+ <!-- Then adjust individual ones -->
+ <touch file="${test.dir}/asf-logo.gif.bz2"
+ datetime="01/01/2001 12:00 AM"/>
+ <touch file="${test.dir}/asf-logo.gif.gz"
+ datetime="04/15/2002 2:30 PM"/>
+ <touch file="${test.dir}/zip/asf-logo.gif.zip"
+ datetime="05/10/2002 2:30 PM"/>
+ <touch file="${test.dir}/tar/asf-logo.gif.tar"
+ datetime="05/10/2002 2:29 PM"/>
+ <touch file="${test.dir}/tar/asf-logo-huge.tar.gz"
+ datetime="05/10/2002 2:29 AM"/>
+ </target>
+
+ <target name="mirrorfiles">
+ <mkdir dir="${mirror.dir}" />
+ <mkdir dir="${mirror.dir}/zip" />
+ <mkdir dir="${mirror.dir}/tar" />
+ <mkdir dir="${mirror.dir}/tar/gz" />
+ <mkdir dir="${mirror.dir}/tar/bz2" />
+ <touch file="${mirror.dir}/asf-logo.gif.md5"/>
+ <touch file="${mirror.dir}/asf-logo.gif.bz2"/>
+ <touch file="${mirror.dir}/zip/asf-logo.gif.zip"/>
+ <touch file="${mirror.dir}/tar/asf-logo.gif.tar"/>
+ <touch file="${mirror.dir}/tar/asf-logo-huge.tar.gz"/>
+ <touch file="${mirror.dir}/tar/gz/asf-logo.gif.tar.gz"/>
+ <touch file="${mirror.dir}/tar/bz2/asf-logo.gif.tar.bz2"/>
+ <touch file="${mirror.dir}/tar/bz2/asf-logo-huge.tar.bz2"/>
+ </target>
+
+ <target name="containsregexp">
+ <mkdir dir="${testregexpsrc.dir}" />
+ <mkdir dir="${testregexpdest.dir}" />
+ <!-- Make two test files, shouldcopy.txt will get selected if everything works
+ shouldnotcopy.txt will not get selected for copy. The test looks to see
+ that only one file is copied
+ -->
+ <echo message="Some testregexp text 2.0" file="${testregexpsrc.dir}/shouldcopy.txt" />
+ <echo message="Some testregexp text 20" file="${testregexpsrc.dir}/shouldnotcopy.txt" />
+ <copy todir="${testregexpdest.dir}">
+ <fileset dir="${testregexpsrc.dir}">
+ <include name="*.txt" />
+ <containsregexp expression="[0-9]\.[0,1,2]" />
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- ========== Test for ModifiedSelector ========== -->
+
+ <target name="modifiedselectortest-makeDirty">
+ <!-- Load propertyfile generated by SelectorTest-class -->
+ <property file="ModifiedSelectorTest.properties"/>
+
+ <!-- Modify only timestamp -->
+ <touch file="${test.dir}/${f2name}" datetime="02/28/2003 9:55 AM"/>
+ <!-- Change content but keep timestamp -->
+ <echo file="${test.dir}/${f3name}" append="true" message="new content"/>
+ <touch file="${test.dir}/${f3name}" datetime="11/21/2001 4:55 AM"/>
+ <!-- Change content and timestamp -->
+ <echo file="${test.dir}/${f4name}" append="true" message="new content"/>
+ </target>
+
+ <target name="modifiedselectortest-scenario-clean">
+ <delete dir="${test.dir}"/>
+ </target>
+
+ <target name="modifiedselectortest-scenario-prepare">
+ <mkdir dir="${test.dir}/src"/>
+ <copy todir="${test.dir}/src">
+ <fileset dir="${ant.home}/lib" includes="ant.jar">
+ <type type="file"/>
+ </fileset>
+ <fileset dir="${ant.home}/bin">
+ <type type="file"/>
+ </fileset>
+ </copy>
+ <touch datetime="12/24/2002 4:00 pm">
+ <fileset dir="${test.dir}"/>
+ </touch>
+ <mkdir dir="${test.dir}/to-1"/>
+ <mkdir dir="${test.dir}/to-2"/>
+ <mkdir dir="${test.dir}/to-3"/>
+ </target>
+
+ <target name="modifiedselectortest-scenario-makeDirty">
+ <touch file="${test.dir}/src/ant.jar"/>
+ <echo file="${test.dir}/src/ant.bat" append="true" message="new-content"/>
+ <echo file="${test.dir}/src/antRun.pl" append="true" message="new-content"/>
+ <touch file="${test.dir}/src/antRun.pl" datetime="12/24/2002 4:00 pm"/>
+ </target>
+
+ <target name="modifiedselectortest-scenario-coreselector-defaults" depends="modifiedselectortest-scenario-prepare">
+ <!-- copy first time and create cachefile -->
+ <copy todir="${test.dir}/to-1">
+ <fileset dir="${test.dir}/src">
+ <modified/>
+ </fileset>
+ </copy>
+ <!-- copy second time: nothing should be copied -->
+ <copy todir="${test.dir}/to-2">
+ <fileset dir="${test.dir}/src">
+ <modified/>
+ </fileset>
+ </copy>
+ <!-- 'modify' the source files -->
+ <antcall target="modifiedselectortest-scenario-makeDirty"/>
+ <!-- copy third time: only the files with new CONTENT should be copied -->
+ <copy todir="${test.dir}/to-3">
+ <fileset dir="${test.dir}/src">
+ <modified/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="modifiedselectortest-scenario-coreselector-settings" depends="modifiedselectortest-scenario-prepare">
+ <!-- copy first time and create cachefile -->
+ <copy todir="${test.dir}/to-1">
+ <fileset dir="${test.dir}/src">
+ <modified cache="propertyfile" algorithm="hashvalue" update="true">
+ <param name="cache.cachefile" value="core.cache.properties" />
+ </modified>
+ </fileset>
+ </copy>
+ <!-- copy second time: nothing should be copied -->
+ <copy todir="${test.dir}/to-2">
+ <fileset dir="${test.dir}/src">
+ <modified cache="propertyfile" algorithm="hashvalue" update="true">
+ <param name="cache.cachefile" value="core.cache.properties" />
+ </modified>
+ </fileset>
+ </copy>
+ <!-- 'modify' the source files -->
+ <antcall target="modifiedselectortest-scenario-makeDirty"/>
+ <!-- copy third time: only the files with new CONTENT should be copied -->
+ <copy todir="${test.dir}/to-3">
+ <fileset dir="${test.dir}/src">
+ <modified cache="propertyfile" algorithm="hashvalue" update="true">
+ <param name="cache.cachefile" value="core.cache.properties" />
+ </modified>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="modifiedselectortest-scenario-customselector-settings" depends="modifiedselectortest-scenario-prepare">
+ <!-- copy first time and create cachefile -->
+ <copy todir="${test.dir}/to-1">
+ <fileset dir="${test.dir}/src">
+ <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
+ <param name="cache" value="propertyfile"/>
+ <param name="algorithm" value="hashvalue"/>
+ <param name="update" value="true"/>
+ <param name="cache.cachefile" value="core.cache.properties"/>
+ </custom>
+ </fileset>
+ </copy>
+ <!-- copy second time: nothing should be copied -->
+ <copy todir="${test.dir}/to-2">
+ <fileset dir="${test.dir}/src">
+ <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
+ <param name="cache" value="propertyfile"/>
+ <param name="algorithm" value="hashvalue"/>
+ <param name="update" value="true"/>
+ <param name="cache.cachefile" value="core.cache.properties"/>
+ </custom>
+ </fileset>
+ </copy>
+ <!-- 'modify' the source files -->
+ <antcall target="modifiedselectortest-scenario-makeDirty"/>
+ <!-- copy third time: only the files with new CONTENT should be copied -->
+ <copy todir="${test.dir}/to-3">
+ <fileset dir="${test.dir}/src">
+ <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
+ <param name="cache" value="propertyfile"/>
+ <param name="algorithm" value="hashvalue"/>
+ <param name="update" value="true"/>
+ <param name="cache.cachefile" value="core.cache.properties"/>
+ </custom>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="modifiedselectortest-customClasses" depends="modifiedselectortest-scenario-prepare">
+ <property name="pkg.live" value="org.apache.tools.ant.types.selectors.modifiedselector"/>
+ <property name="pkg.test" value="org.apache.tools.ant.types.selectors"/>
+ <fileset id="fs.mod" dir="${test.dir}/src">
+ <modified
+ algorithmclass="${pkg.test}.MockAlgorithm"
+ cacheclass="${pkg.test}.MockCache"
+ comparatorclass="${pkg.test}.MockComparator"
+ >
+ <classpath>
+ <pathelement location="${build.tests.value}"/>
+ </classpath>
+ </modified>
+ </fileset>
+ <fileset id="fs.full" dir="${test.dir}/src"/>
+ <property name="fs.mod.value" refid="fs.mod"/>
+ <property name="fs.full.value" refid="fs.full"/>
+ </target>
+
+ <target name="modifiedselectortest-ResourceSimple">
+ <fail message="Didnt get the required numbers of Resources.">
+ <condition>
+ <not>
+ <resourcecount when="equal" count="3">
+ <restrict>
+ <resources>
+ <file file="foo" />
+ <resource name="foo" />
+ <file file="foo" basedir="${basedir}" />
+ </resources>
+ <modified selres="true" xmlns="antlib:org.apache.tools.ant.types.resources.selectors"/>
+ </restrict>
+ </resourcecount>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="modifiedselectortest-ResourceSelresTrue">
+ <fail message="Got the Resource, but should.">
+ <condition>
+ <not>
+ <resourcecount when="equal" count="1">
+ <restrict>
+ <resources>
+ <resource name="notExisting" />
+ </resources>
+ <modified selres="true" xmlns="antlib:org.apache.tools.ant.types.resources.selectors"/>
+ </restrict>
+ </resourcecount>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="modifiedselectortest-ResourceSelresFalse">
+ <fail message="Got the Resource, but should not.">
+ <condition>
+ <not>
+ <resourcecount when="equal" count="0">
+ <restrict>
+ <resources>
+ <resource name="notExisting" />
+ </resources>
+ <modified selres="false" xmlns="antlib:org.apache.tools.ant.types.resources.selectors"/>
+ </restrict>
+ </resourcecount>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="modifiedselectortest-scenario-resourceSimple" depends="modifiedselectortest-scenario-prepare">
+ <macrodef name="check">
+ <attribute name="count"/>
+ <attribute name="message"/>
+ <sequential>
+ <fail message="@{message}">
+ <condition>
+ <not>
+ <resourcecount when="equal" count="@{count}">
+ <restrict>
+ <resources>
+ <fileset dir="${test.dir}/src"/>
+ </resources>
+ <modified selres="false" xmlns="antlib:org.apache.tools.ant.types.resources.selectors"/>
+ </restrict>
+ </resourcecount>
+ </not>
+ </condition>
+ </fail>
+ </sequential>
+ </macrodef>
+ <!-- select first time and create cachefile -->
+ <check count="14" message="Initial set of files not ok."/>
+
+ <!-- check second time: nothing should be selected -->
+ <check count="0" message="Selected files but shouldnt."/>
+
+ <!-- 'modify' the source files -->
+ <antcall target="modifiedselectortest-scenario-makeDirty"/>
+
+ <!-- copy third time: only the files with new CONTENT should be copied -->
+ <check count="2" message="Didnt select the 2 modified files."/>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/scriptselector.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/scriptselector.xml
new file mode 100644
index 00000000..80afe309
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/scriptselector.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project name="scriptselector" default="def" basedir=".">
+
+ <property name="src.file" location="${ant.file}" />
+
+ <macrodef name="testselected">
+ <element name="selector" implicit="yes" optional="true"/>
+ <attribute name="message"/>
+ <sequential>
+ <fail message="@{message} failed: file was not selected">
+ <condition>
+ <not>
+ <isfileselected file="{src.file}">
+ <selector/>
+ </isfileselected>
+ </not>
+ </condition>
+ </fail>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="testnoselected">
+ <element name="selector" implicit="yes" optional="true"/>
+ <attribute name="message"/>
+ <sequential>
+ <fail message="@{message} failed: file was selected">
+ <condition>
+ <isfileselected file="{src.file}">
+ <selector/>
+ </isfileselected>
+ </condition>
+ </fail>
+ </sequential>
+ </macrodef>
+
+ <!-- this is here to test the macro is well coded -->
+ <target name="testNoSelector">
+ <testselected message="testNoSelector" >
+ </testselected>
+ </target>
+
+ <target name="testNolanguage">
+ <testselected message="testNolanguage" >
+ <selector>
+ <scriptselector >
+ self.setSelected(true);
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+ <target name="testSelectionSetByDefault">
+ <testselected message="testSelectionSetByDefault" >
+ <selector>
+ <scriptselector language="javascript">
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+
+ <target name="testSelectionSetWorks">
+ <testselected message="testSelectionSetWorks" >
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected(false);
+ self.setSelected(true);
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+ <target name="testSelectionClearWorks">
+ <testnoselected message="testSelectionClearWorks">
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected(false);
+ </scriptselector>
+ </selector>
+ </testnoselected>
+ </target>
+
+ <target name="testFileAttribute">
+ <testselected message="testFileAttribute" >
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected(file.equals(self.getFile()));
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+ <target name="testFilenameAttribute">
+ <testselected message="testFilenameAttribute" >
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected(filename.equals(self.getFilename()));
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+ <target name="testBasedirAttribute">
+ <testselected message="testBasedirAttribute" >
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected(basedir.equals(self.getBasedir()));
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+
+ <target name="notestFilenameLength">
+ <testselected message="notestFilenameLength" >
+ <selector>
+ <scriptselector language="javascript">
+ self.setSelected((filename.length%2)==0);
+ </scriptselector>
+ </selector>
+ </testselected>
+ </target>
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/signedselector.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/signedselector.xml
new file mode 100644
index 00000000..60fe9408
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/selectors/signedselector.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <macrodef name="pass">
+ <element name="conditions" implicit="yes"/>
+ <attribute name="failmessage"/>
+ <sequential>
+ <fail message="@{failmessage}">
+ <condition>
+ <not>
+ <conditions/>
+ </not>
+ </condition>
+ </fail>
+ </sequential>
+ </macrodef>
+
+ <property name="issigned.dir" location="../../taskdefs/conditions/jars"/>
+
+ <target name="selectsigned">
+ <pass failmessage="apassword.jar should be a signed file">
+ <isfileselected file="${issigned.dir}/apassword.jar">
+ <signedselector/>
+ </isfileselected>
+ </pass>
+ </target>
+
+ <target name="notselected">
+ <pass failmessage="nosign.jar should not be selected as a signed jar">
+ <not>
+ <isfileselected file="${issigned.dir}/nosign.jar">
+ <signedselector/>
+ </isfileselected>
+ </not>
+ </pass>
+ </target>
+
+ <target name="name">
+ <pass failmessage="apassword.jar should be a signed file with the name apassword">
+ <isfileselected file="${issigned.dir}/apassword.jar">
+ <signedselector name="apassword"/>
+ </isfileselected>
+ </pass>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xml
new file mode 100644
index 00000000..63269f77
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xml
@@ -0,0 +1,150 @@
+<?xml version='1.0'?>
+<!--
+ 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.
+-->
+<!DOCTYPE project>
+
+<project name="xmlcatalog" default="all" basedir=".">
+
+ <description>
+ This is to test XMLCatalog for external entity resolution from the
+ xslt task, both the simple case and using the document() function
+ to refer to a second file (which refers to the entity). This
+ buildfile is called by
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ Alternatively, you may try it out by hand by first removing the
+ comment symbols around the echo statements and then calling
+ ant -buildfile xmlcatalog.xml
+ </description>
+
+ <property name="transformer" value = "xmlcatalog.xsl"/>
+
+ <target
+ name = "all"
+ depends = "testentitynocatalog, testentitywithcatalog,
+ testdocumentnocatalog, testdocumentwithcatalog"/>
+
+ <target
+ name = "testentitynocatalog"
+ description = "Test external entity resolver for simple XML
+document without using XMLCatalog">
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ <xslt
+ basedir = "${basedir}"
+ destdir = "${basedir}"
+ extension = ".text"
+ style = "${transformer}"
+ in = "xmlcatalog1.xml"
+ out = "result.out">
+ <param
+ name = "outprop"
+ expression = "val1"/>
+ </xslt>
+ <property file = "result.out"/>
+ <!-- <echo message = "${val1}"/> -->
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ </target>
+
+ <target
+ name = "testentitywithcatalog"
+ description = "Test external entity resolver for simple
+XML document using XMLCatalog">
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ <xslt
+ basedir = "${basedir}"
+ destdir = "${basedir}"
+ extension = ".text"
+ style = "${transformer}"
+ in = "xmlcatalog1.xml"
+ out = "result.out">
+ <param
+ name = "outprop"
+ expression = "val2"/>
+ <xmlcatalog>
+ <entity
+ publicId = "myquote"
+ location = "quote2.xml"/>
+ </xmlcatalog>
+ </xslt>
+ <property file = "result.out"/>
+ <!-- <echo message = "${val2}"/> -->
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ </target>
+
+ <target
+ name = "testdocumentnocatalog"
+ description = "Test entity resolution in XML document called
+from XSLT document() function without using XMLCatalog">
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ <xslt
+ basedir = "${basedir}"
+ destdir = "${basedir}"
+ extension = ".text"
+ style = "${transformer}"
+ in = "xmlcatalog2.xml"
+ out = "result.out">
+ <param
+ name = "outprop"
+ expression = "val3"/>
+ </xslt>
+ <property file = "result.out"/>
+ <!-- <echo message = "${val3}"/> -->
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ </target>
+
+ <target
+ name = "testdocumentwithcatalog"
+ description = "Test entity resolution in XML document called
+from XSLT document() function using XMLCatalog">
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ <xslt
+ basedir = "${basedir}"
+ destdir = "${basedir}"
+ extension = ".text"
+ style = "${transformer}"
+ in = "xmlcatalog2.xml"
+ out = "result.out">
+ <param
+ name = "outprop"
+ expression = "val4"/>
+ <xmlcatalog>
+ <entity
+ publicId = "myquote"
+ location = "quote2.xml"/>
+ </xmlcatalog>
+ </xslt>
+ <property file = "result.out"/>
+ <!-- <echo message = "${val4}"/> -->
+ <delete
+ quiet = "yes"
+ file = "result.out"/>
+ </target>
+
+</project>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xsl
new file mode 100644
index 00000000..a2c839ca
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog.xsl
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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.
+-->
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <!-- I belong to:
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ -->
+
+ <xsl:output method="text"/>
+
+ <!-- name of the output parameter to write -->
+ <xsl:param name="outprop">value</xsl:param>
+
+ <xsl:strip-space elements="*"/>
+
+ <xsl:template match="/">
+ <xsl:value-of select="$outprop"/>: <xsl:apply-templates select="/fragment/para"/>
+ </xsl:template>
+
+ <!-- This will only be matched in doc2.xml -->
+ <xsl:template match="Ref">
+ <xsl:apply-templates select="document(@file)/fragment/para"/>
+ </xsl:template>
+
+ <!-- This will only be matched in doc1.xml -->
+ <xsl:template match="text()">
+ <xsl:value-of select="normalize-space(.)"/>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog1.xml
new file mode 100644
index 00000000..d4b5461f
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog1.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+<!DOCTYPE fragment [
+ <!ENTITY quote PUBLIC "myquote" "quote1.xml">
+]>
+
+ <!-- I belong to:
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ -->
+
+<fragment>
+ <para>
+ &quote;
+ </para>
+</fragment>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog2.xml
new file mode 100644
index 00000000..9d2bed03
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlcatalog2.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+ <!-- I belong to:
+ org.apache.tools.ant.types.XMLCatalogBuildFileTest.java
+ -->
+
+<fragment>
+ <para>
+ <Ref file="xmlcatalog1.xml"/>
+ </para>
+</fragment>
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlfragment.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlfragment.xml
new file mode 100644
index 00000000..75214d64
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/xmlfragment.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project>
+ <typedef name="fragment"
+ classname="org.apache.tools.ant.util.XMLFragment"/>
+
+ <fragment id="nested-text">foo</fragment>
+
+ <fragment id="with-children">
+ <child1>foo</child1>
+ <child2 foo="bar"/>
+ <child3>
+ <child4/>
+ </child3>
+ </fragment>
+</project>