<?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="concat-test" basedir="." default="test1">

  <property name="tmp.file" value="concat.tmp" />
  <property name="tmp.file.2" value="concat.tmp.2" />

  <property name="world" value="World" />

  <target name="cleanup">
    <delete file="TESTDEST"/>
    <delete file="${tmp.file}"/>
    <delete file="${tmp.file.2}"/>
    <delete file="concat.line4"/>
    <delete file="concat.noeol"/>
    <delete file="concat.linecr"/>
    <delete file="concat.utf8"/>
    <delete file="concat.urls"/>
  </target>

  <target name="test1">
    <concat>
    </concat>
  </target>

  <target name="test2">
    <concat destfile="">Hello, ${world}!</concat>
  </target>

  <target name="test3">
    <concat destfile="${tmp.file}">Hello, ${world}!</concat>
  </target>

  <target name="test4">
    <concat destfile="${tmp.file.2}">
      <fileset dir="${basedir}" includes="${tmp.file}" />
      <filelist dir="${basedir}" files="${tmp.file},${tmp.file}" />
    </concat>
  </target>

  <target name="test5">
    <concat>Hello, ${world}!</concat>
  </target>

  <target name="test6">
    <concat destfile="TESTDEST" append="true">
      <filelist dir="${basedir}" files="thisfiledoesnotexist"/>
    </concat>
    <available file="TESTDEST" property="TESTDEST.was.created"/>
    <fail message="TESTDEST created for nonexistent files"
          if="TESTDEST.was.created"/>
  </target>

  <target name="testConcatNoNewline">
    <concat>
      <fileset dir="concat-input"/>
    </concat>
  </target>

  <target name="testConcatNoNewlineEncoding">
    <concat encoding="ASCII">
      <fileset dir="concat-input"/>
    </concat>
  </target>

  <target name="testPath">
    <concat destfile="${tmp.file.2}">
      <path path="${tmp.file}"/>
    </concat>
  </target>

  <target name="testAppend">
    <concat destfile="${tmp.file.2}">
      <path path="${tmp.file}"/>
    </concat>
    <concat destfile="${tmp.file.2}" append="true">
      <path path="${tmp.file}"/>
    </concat>
  </target>

  <target name="testfilter">
    <concat destfile="${tmp.file}">@REPLACEME@</concat>
    <concat>
      <path path="${tmp.file}"/>
      <filterchain>
        <replacetokens>
          <token key="REPLACEME" value="REPLACED"/>
        </replacetokens>
      </filterchain>
    </concat>
  </target>

  <target name="testnooverwrite">
    <touch file="${tmp.file.2}"/>
    <!-- concat.xml is now older than tmp.file.2
         so the following should not do anything -->
    <concat destfile="${tmp.file.2}" overwrite="false">
      <path path="concat.xml"/>
    </concat>
  </target>

  <target name="testoverwrite">
    <touch file="${tmp.file.2}"/>
    <!-- concat.xml is now older than tmp.file.2
         so the following should still overwrite it -->
    <concat destfile="${tmp.file.2}" overwrite="true">
      <path path="concat.xml"/>
    </concat>
  </target>

  <target name="testheaderfooter">
    <concat>
      <header filtering="false" trim="yes">
        header
      </header>
      <path path="${tmp.file}"/>
      <footer filtering="no">footer</footer>
    </concat>
  </target>

  <target name="testfileheader">
    <concat>
      <header file="${tmp.file}"/>
      <path path="${tmp.file}"/>
    </concat>
  </target>

  <target name="samefile">
    <touch file="${tmp.file}"/>
    <concat destfile="${tmp.file}">
      <path path="${tmp.file}"/>
    </concat>
  </target>

  <target name="testfilterinline">
    <concat>
      @REPLACEME@
      <filterchain>
        <replacetokens>
          <token key="REPLACEME" value="REPLACED"/>
        </replacetokens>
      </filterchain>
    </concat>
  </target>
  
  <target name="testmultireader">
    <concat destfile="${tmp.file}">Hello, World
    </concat>
    <concat destfile="${tmp.file.2}">Bye, World
    </concat>
    <concat>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <path path="${tmp.file}"/>
      <!-- tailfilter seems to behave a little stange, place two
           here in case the implementation changes -->
      <path path="${tmp.file.2}"/>
      <path path="${tmp.file.2}"/>
      <filterchain>
        <tailfilter lines="2"/>
      </filterchain>
    </concat>
  </target>
  
  <target name="create-noel">
    <concat destfile="concat.noeol">This has no end of line</concat>
  </target>

  <target name="testfixlastline" depends="create-noel">
    <concat destfile="concat.line4" fixlastline="yes">
      <path path="concat.noeol"/>
      <path path="concat.noeol"/>
      <path path="concat.noeol"/>
      <path path="concat.noeol"/>
    </concat>
  </target>

  <target name="testfixlastlineeol" depends="create-noel">
    <concat destfile="concat.linecr" fixlastline="yes" eol="mac">
      <path path="concat.noeol"/>
      <path path="concat.noeol"/>
    </concat>
  </target>

  <target name="testTranscoding">
    <concat destfile="concat.utf8"
            encoding="ISO8859_1" outputencoding="UTF8">
      <path path="copy/input/iso8859-1"/>
    </concat>
  </target>

</project>
