<?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

      https://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">
    <copy file="copy.xml" tofile="${output}/copytest1.tmp" />
  </target>

  <target name="test2">
    <copy file="copy.xml" todir="${output}/copytest1dir" overwrite="true"/>
  </target>

  <target name="filtertest">
    <!-- check fix for bugzilla 23154 -->
    <concat destfile="${output}/copy.filter.inp">
PRODUCT_VERSION=6.2.1.4
PRODUCT_BUILD=6.5 (BLD_65036)
PRODUCT_VERSION=6.2.1.4
PRODUCT_BUILD=6.5 (BLD_65036)
    </concat>
    <copy file="${output}/copy.filter.inp" tofile="${output}/copy.filter.out">
      <filterset begintoken="6" endtoken="4">
        <filter token=".2.1." value="2.6.4" />
      </filterset>
    </copy>
    <concat><path path="${output}/copy.filter.out"/></concat>
  </target>

  <target name="infinitetest">
    <concat destfile="${output}/copy.filter.inp">
a=b=
    </concat>
    <copy file="${output}/copy.filter.inp" tofile="${output}/copy.filter.out">
      <filterset begintoken="=" endtoken="=">
        <filter token="b" value="=b="/>
      </filterset>
    </copy>
    <concat><path path="${output}/copy.filter.out"/></concat>
  </target>

  <target name="test3">
    <!-- create an empty file -->
    <touch file="${output}/copytest3.tmp"/>
    <!-- copy a different file to two places -->
    <copy file="copy.xml" tofile="${output}/copytest3a.tmp" overwrite="true"/>
    <copy file="copy.xml" tofile="${output}/copytest3b.tmp" overwrite="true"/>
      </target><target name="test3Part2">
    <!-- copy an old file onto a newer file (should not work) -->
    <copy file="${output}/copytest3.tmp" tofile="${output}/copytest3b.tmp" />
    <!-- copy an older file onto a new one, should succeed -->
    <copy file="${output}/copytest3.tmp" tofile="${output}/copytest3c.tmp"
      overwrite="true"
      preservelastmodified="true" />
    <!-- copy a newer file onto an older one (should work) -->
    <copy file="${output}/copytest3a.tmp" tofile="${output}/copytest3.tmp"
      preservelastmodified="true" />
    <!-- expected state :
      3a.tmp==3.tmp==copy.xml
      timeof(3a.tmp)==timeof(3.tmp)==now()-4
      sizeof(3c)==0
      timeof(3c.tmp)<timeof(3a.tmp);
      3b.tmp==copy.xml
    -->
  </target>

  <target name="test_single_file_fileset">
    <copy tofile="${output}/copytest_single_file_fileset.tmp">
      <fileset dir="." includes="copy.xml"/>
    </copy>
  </target>

  <target name="test_single_file_path">
    <copy tofile="${output}/copytest_single_file_path.tmp">
      <path>
        <pathelement location="copy.xml"/>
      </path>
    </copy>
  </target>

  <target name="testFilterSet">
    <copy file="copy.filterset" tofile="${output}/copy.filterset.tmp">
      <filterset>
        <filter token="TITLE" value="Apache Ant Project"/>
      </filterset>
    </copy>
  </target>

  <target name="testFilterChain">
    <copy file="copy.filterset" tofile="${output}/copy.filterchain.tmp">
      <filterchain>
        <replacetokens>
          <token key="TITLE" value="Apache Ant Project"/>
        </replacetokens>
      </filterchain>
    </copy>
  </target>

  <target name="testTranscoding">
    <copy file="copy/input/iso8859-1" tofile="${output}/copytest1.tmp"
          encoding="ISO8859_1" outputencoding="UTF8"/>
  </target>

  <target name="testMissingFileIgnore">
    <copy file="not-there" tofile="${output}/copytest1.tmp"
          failonerror="false"/>
  </target>

  <target name="testMissingFileBail">
    <copy file="not-there" tofile="${output}/copytest1.tmp"
          failonerror="true"/>
  </target>

  <target name="testMissingDirIgnore">
    <copy todir="${output}" failonerror="false">
      <fileset dir="not-there"/>
    </copy>
  </target>

  <target name="testMissingDirBail">
    <copy todir="${output}" failonerror="true">
      <fileset dir="not-there"/>
    </copy>
  </target>

  <property name="to.dir" value="${output}/copy-todir-tmp"/>
  <property name="from.dir" value="${output}/copy-fromdir-tmp"/>

  <target name="testResource.prepare">
    <mkdir dir="${from.dir}"/>
    <concat destfile="${from.dir}/file1.txt">This is file 1</concat>
    <concat destfile="${from.dir}/file2.txt">This is file 2</concat>
    <concat destfile="${from.dir}/file3.txt">This is file 3</concat>
    <concat destfile="${from.dir}/fileNR.txt">This is file @NR@</concat>
  </target>

  <target name="testFileResourcePlain" depends="testResource.prepare">
    <copy todir="${to.dir}" flatten="true">
      <resources>
        <file file="${from.dir}/file1.txt"/>
        <file file="${from.dir}/file2.txt"/>
        <file file="${from.dir}/file3.txt"/>
      </resources>
    </copy>
  </target>

  <target name="testFileResourceWithMapper" depends="testResource.prepare">
    <copy todir="${to.dir}" flatten="true">
      <resources>
        <file file="${from.dir}/file1.txt"/>
        <file file="${from.dir}/file2.txt"/>
        <file file="${from.dir}/file3.txt"/>
      </resources>
      <regexpmapper from="^(.*)\.txt$$" to="\1.txt.bak"/>
    </copy>
  </target>

  <target name="testFileResourceWithFilter" depends="testResource.prepare">
    <copy todir="${to.dir}" flatten="true">
      <resources>
        <file file="${from.dir}/fileNR.txt"/>
      </resources>
      <filterset>
        <filter token="NR" value="42"/>
      </filterset>
    </copy>
  </target>

  <target name="testResourcePlain">
  </target>

  <target name="testResourcePlainWithMapper">
  </target>

  <target name="testResourcePlainWithFilter">
  </target>

  <target name="testOnlineResources">
  </target>

  <target name="testPathAsResource" depends="testResource.prepare">
    <copy todir="${to.dir}">
      <path>
        <fileset dir="${from.dir}"/>
      </path>
    </copy>
  </target>

  <target name="testZipfileset" depends="testResource.prepare">
    <zip destfile="${from.dir}/test.zip" roundup="false">
      <fileset dir="${from.dir}" excludes="*.zip"/>
    </zip>
    <copy todir="${to.dir}">
      <zipfileset src="${from.dir}/test.zip"/>
    </copy>
  </target>

  <target name="prepareDirset">
    <touch mkdirs="true">
      <filelist dir="${from.dir}/dirset">
        <file name="a/x/foo" />
        <file name="a/y/foo" />
        <file name="a/z/foo" />
        <file name="b/x/foo" />
        <file name="b/y/foo" />
        <file name="b/z/foo" />
      </filelist>
    </touch>
    <fail>
      <condition>
        <or>
          <resourcecount when="ne" count="9">
            <dirset id="dirset" dir="${from.dir}/dirset" />
          </resourcecount>
          <resourcecount when="ne" count="6">
            <fileset dir="${from.dir}/dirset" />
          </resourcecount>
        </or>
      </condition>
    </fail>
    <delete dir="${to.dir}/dirset" />
    <fail>
      <condition>
        <available file="${to.dir}/dirset" />
      </condition>
    </fail>
  </target>

  <target name="testDirset" depends="prepareDirset">
    <copy todir="${to.dir}/dirset">
      <resources refid="dirset" />
    </copy>
    <fail>
      <condition>
        <or>
          <resourcecount when="ne" count="9">
            <dirset dir="${to.dir}/dirset" />
          </resourcecount>
          <resourcecount when="ne" count="0">
            <fileset dir="${to.dir}/dirset" />
          </resourcecount>
        </or>
      </condition>
    </fail>
  </target>

  <target name="setupSelfCopyTesting" description="Sets up the necessary files and directories for testSelfCopy task which
                will be called by the test cases">
    <property name="self.copy.test.root.dir" location="${output}/self-copy-test"/>
    <mkdir dir="${self.copy.test.root.dir}"/>
    <echo file="${self.copy.test.root.dir}/file.txt" message="hello-world"/>
  </target>

  <target name="testSelfCopy">
    <property name="self.copy.test.root.dir" location="${output}/self-copy-test"/>
    <!-- straightforward self-copy -->
    <copy file="${self.copy.test.root.dir}/file.txt" tofile="${self.copy.test.root.dir}/file.txt" overwrite="true"/>

    <!-- create a symlink of the source file and then attempt a copy of the original file and the symlink -->
    <symlink link="${self.copy.test.root.dir}/sylmink-file.txt" resource="${self.copy.test.root.dir}/file.txt"/>
    <copy file="${self.copy.test.root.dir}/file.txt" tofile="${self.copy.test.root.dir}/sylmink-file.txt" overwrite="true"/>
    <copy file="${self.copy.test.root.dir}/sylmink-file.txt" tofile="${self.copy.test.root.dir}/file.txt" overwrite="true"/>

    <!-- create a symlink of the dir containing the source file and then attempt a copy of the original file and the symlink dir -->
    <property name="self.copy.test.symlinked.dir" location="${output}/symlink-for-output-dir"/>
    <symlink link="${self.copy.test.symlinked.dir}" resource="${self.copy.test.root.dir}"/>
    <copy file="${self.copy.test.symlinked.dir}/file.txt" tofile="${self.copy.test.root.dir}/sylmink-file.txt" overwrite="true"/>
    <copy file="${self.copy.test.root.dir}/sylmink-file.txt" tofile="${self.copy.test.symlinked.dir}/file.txt" overwrite="true"/>

    <copy todir="${self.copy.test.symlinked.dir}" overwrite="true">
      <fileset dir="${self.copy.test.root.dir}"/>
    </copy>
  </target>
</project>
