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

  <import file="../buildfiletest-base.xml"/>

  <target name="setUp">
    <mkdir dir="${output}"/>
  </target>


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

  <target name="test2">
    <replace file=""/>
  </target>

  <target name="test3">
    <replace file="template.xml"/>
  </target>

  <target name="test4">
    <replace file="template.xml" token=""/>
  </target>

  <target name="test5">
    <replace file="template.xml" 
             token="dont_want_to_really_replace_something"/>
  </target>

  <target name="test6">
    <replace file="template.xml">
      <replacefilter />
    </replace>
  </target>

  <target name="test7">
    <replace file="template.xml">
      <replacefilter token="" />
    </replace>
  </target>

  <target name="test8">
    <replace file="template.xml">
      <replacefilter token="dont_want_to_really_replace_something" />
    </replace>
  </target>

  <target name="test9-setup">
    <!-- this fixing of line endings is necessary because the replace task is transforming the line endings -->
    <!-- of the replacement tokens and values to the platform default -->
    <!-- in certain cases (checkout done with cvs of cygwin, the line endings of the various files do not match-->
    <!-- the system property line.separator -->
    <copy file="replace/source.txt" tofile="${output}/output.txt"/>
    <copy file="replace/value.txt" tofile="${output}/value.txt" />
    <copy file="replace/result.txt" tofile="${output}/result.txt" />
    <fixcrlf srcdir="${output}" includes="*.txt"/>
  </target>
  <target name="test9" depends="test9-setup">
    <loadfile srcFile="${output}/value.txt" property="content"/>
    <replace file="${output}/output.txt" token="@@@Replace this@@@" value="${content}"/>
  </target>

  <target name="lastModifiedSetup">
    <mkdir dir="${output}"/>
    <echo file="${output}/test.txt">Hello, world!</echo>
  </target>
  <target name="testNoPreserve">
    <replace token="world" value="Ant" file="${output}/test.txt"/>
  </target>
  <target name="testPreserve">
    <replace token="world" value="Ant" file="${output}/test.txt"
             preserveLastModified="true"/>
  </target>

</project>
