<?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 xmlns:au="antlib:org.apache.ant.antunit" default="antunit">

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

  <target name="tearDown" depends="antunit-base.tearDown">
    <delete file="cache.properties" quiet="true"/>
  </target>

  <target name="testUpdate"
          description="https://issues.apache.org/bugzilla/show_bug.cgi?id=32597">
    <mkdir dir="${input}"/>
    <touch file="${input}/A"/>
    <mkdir dir="${output}"/>
    <pathconvert>
      <fileset dir="${input}">
        <modified/>
      </fileset>
    </pathconvert>
    <au:assertFileExists file="cache.properties"/>
    <copy todir="${output}" file="cache.properties"/>
    <echo file="${input}/A">Hello</echo>
    <pathconvert>
      <fileset dir="${input}">
        <modified update="false"/>
      </fileset>
    </pathconvert>
    <au:assertFilesMatch
       expected="${output}/cache.properties"
       actual="cache.properties"/>
    <pathconvert>
      <fileset dir="${input}">
        <modified>
          <param name="update" value="false"/>
        </modified>
      </fileset>
    </pathconvert>
    <au:assertFilesMatch
       expected="${output}/cache.properties"
       actual="cache.properties"/>
    <pathconvert>
      <fileset dir="${input}">
        <modified update="true"/>
      </fileset>
    </pathconvert>
    <au:assertFilesDiffer
       expected="${output}/cache.properties"
       actual="cache.properties"/>
    <copy todir="${output}" file="cache.properties"/>
    <echo file="${input}/A">world</echo>
    <pathconvert>
      <fileset dir="${input}">
        <modified update="true"/>
      </fileset>
    </pathconvert>
    <au:assertFilesDiffer
       expected="${output}/cache.properties"
       actual="cache.properties"/>
  </target>
</project>
