aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml192
1 files changed, 192 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml
new file mode 100644
index 00000000..ce4b1218
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml
@@ -0,0 +1,192 @@
+<?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=".">
+
+ <import file="../buildfiletest-base.xml"/>
+
+ <path id="testclasses">
+ <pathelement location="../../../../build/testcases" />
+ <pathelement path="${java.class.path}" />
+ </path>
+
+ <mapper id="testmapper"
+ classname="org.apache.tools.ant.taskdefs.MultiMapTest$TestMapper"
+ classpathref="testclasses"/>
+
+ <property name="map.ext" value=".copy2"/>
+ <property name="rootScratchDir" value="${output}/test_multi_mapper_scratch_area"/>
+ <property name="baseScratchSrc" value="${rootScratchDir}/src"/>
+ <property name="baseScratchDest" value="${rootScratchDir}/dest"/>
+
+ <target name="setUp">
+ <delete dir="${baseScratchSrc}"/>
+ <mkdir dir="${baseScratchSrc}"/>
+ <delete dir="${baseScratchDest}"/>
+ <mkdir dir="${baseScratchDest}"/>
+ <touch file="${baseScratchSrc}/somefile.txt"/>
+ </target>
+
+ <!-- test simple single file to multiple file move -->
+ <target name="multicopy" depends="setUp">
+ <copy todir="${baseScratchDest}" enablemultiplemappings="true">
+ <fileset dir="${baseScratchSrc}" includes="somefile.txt"/>
+ <mapper refid="testmapper"/>
+ </copy>
+ <condition property="multicopy.outcome">
+ <and>
+ <available file="${baseScratchDest}/somefile.txt"/>
+ <available file="${baseScratchDest}/somefile.txt${map.ext}"/>
+ </and>
+ </condition>
+ <fail unless="multicopy.outcome">multicopy failed</fail>
+ </target>
+
+ <target name="multimove" depends="setUp">
+ <move todir="${baseScratchDest}" enablemultiplemappings="true">
+ <fileset dir="${baseScratchSrc}" includes="somefile.txt"/>
+ <mapper refid="testmapper"/>
+ </move>
+ <condition property="test2.outcome">
+ <and>
+ <available file="${baseScratchDest}/somefile.txt"/>
+ <available file="${baseScratchDest}/somefile.txt${map.ext}"/>
+ <not>
+ <available file="${baseScratchSrc}/somefile.txt"/>
+ </not>
+ <not>
+ <available file="${baseScratchSrc}/somefile.txt${map.ext}"/>
+ </not>
+ </and>
+ </condition>
+ <fail unless="test2.outcome">mulitmove failed</fail>
+ </target>
+
+ <!--
+ test traditional single file to single file copy explicitly telling
+ task to ignore multiple mappings
+ -->
+
+ <target name="singlecopy" depends="setUp">
+ <copy todir="${baseScratchDest}" enablemultiplemappings="false">
+ <fileset dir="${baseScratchSrc}" includes="somefile.txt"/>
+ <mapper refid="testmapper"/>
+ </copy>
+ <condition property="singlecopy.outcome">
+ <and>
+ <available file="${baseScratchDest}/somefile.txt"/>
+ <not>
+ <available file="${baseScratchDest}/somefile.txt${map.ext}"/>
+ </not>
+ <available file="${baseScratchSrc}/somefile.txt"/>
+ </and>
+ </condition>
+ <fail unless="singlecopy.outcome">singlecopy failed</fail>
+ </target>
+
+ <target name="singlemove" depends="setUp">
+ <move todir="${baseScratchDest}" enablemultiplemappings="false">
+ <fileset dir="${baseScratchSrc}" includes="somefile.txt"/>
+ <mapper refid="testmapper"/>
+ </move>
+ <condition property="singlemove.outcome">
+ <and>
+ <available file="${baseScratchDest}/somefile.txt"/>
+ <not>
+ <available file="${baseScratchDest}/somefile.txt${map.ext}"/>
+ </not>
+ <not>
+ <available file="${baseScratchSrc}/somefile.txt"/>
+ </not>
+ </and>
+ </condition>
+ <fail unless="singlemove.outcome">singlemove failed</fail>
+ </target>
+
+ <!-- test dir w/ file + empty dir multimap copy -->
+ <target name="copywithempty">
+ <delete dir="${baseScratchSrc}"/>
+ <mkdir dir="${baseScratchSrc}/dirwithfile"/>
+ <mkdir dir="${baseScratchSrc}/emptydir"/>
+ <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/>
+
+ <delete dir="${baseScratchDest}"/>
+ <mkdir dir="${baseScratchDest}"/>
+
+ <copy todir="${baseScratchDest}" enablemultiplemappings="true">
+ <fileset dir="${baseScratchSrc}" includes="**/*"/>
+ <mapper refid="testmapper"/>
+ </copy>
+ <condition property="copywithempty.outcome">
+ <and>
+ <available file="${baseScratchDest}/dirwithfile"/>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}"/>
+ <available file="${baseScratchDest}/dirwithfile/somefile.txt"/>
+ <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/>
+ <not>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/>
+ </not>
+ <not>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/>
+ </not>
+ <available file="${baseScratchDest}/emptydir"/>
+ <available file="${baseScratchDest}/emptydir${map.ext}"/>
+ </and>
+ </condition>
+ <fail unless="copywithempty.outcome">copywithempty failed</fail>
+ </target>
+ <!-- test dir w/ file + empty dir multimap move -->
+ <target name="movewithempty">
+ <delete dir="${baseScratchSrc}"/>
+ <mkdir dir="${baseScratchSrc}/dirwithfile"/>
+ <mkdir dir="${baseScratchSrc}/emptydir"/>
+ <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/>
+
+ <delete dir="${baseScratchDest}"/>
+ <mkdir dir="${baseScratchDest}"/>
+
+ <move todir="${baseScratchDest}" enablemultiplemappings="true">
+ <fileset dir="${baseScratchSrc}" includes="**/*"/>
+ <mapper refid="testmapper"/>
+ </move>
+ <condition property="movewithempty.outcome">
+ <and>
+ <available file="${baseScratchDest}/dirwithfile"/>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}"/>
+ <available file="${baseScratchDest}/dirwithfile/somefile.txt"/>
+ <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/>
+ <not>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/>
+ </not>
+ <not>
+ <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/>
+ </not>
+ <available file="${baseScratchDest}/emptydir"/>
+ <available file="${baseScratchDest}/emptydir${map.ext}"/>
+ <not>
+ <available file="${baseScratchSrc}/dirwithfile"/>
+ </not>
+ <not>
+ <available file="${baseScratchSrc}/emptydir"/>
+ </not>
+ </and>
+ </condition>
+ <fail unless="movewithempty.outcome">movewithempty failed</fail>
+ </target>
+
+
+</project>