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

  <target name="setUp">
    <mkdir dir="${output}"/>
    <available property="in working copy" file=".svn"/>
  </target>

  <target name="testCopyNoExplicitExcludes" depends="setUp"
          if="in working copy">
    <copy todir="${output}">
      <fileset dir="."/>
    </copy>
    <au:assertFileExists file="${output}/defaultexcludes-test.xml"/>
    <au:assertFileDoesntExist file="${output}/.svn/entries"/>
  </target>

  <target name="testCopyExplicitExcludes" depends="setUp"
          if="in working copy">
    <copy todir="${output}">
      <fileset dir="." defaultexcludes="true"/>
    </copy>
    <au:assertFileExists file="${output}/defaultexcludes-test.xml"/>
    <au:assertFileDoesntExist file="${output}/.svn/entries"/>
  </target>

  <target name="testCopyExplicitNoExcludes" depends="setUp"
          if="in working copy">
    <copy todir="${output}">
      <fileset dir="." defaultexcludes="false"/>
    </copy>
    <au:assertFileExists file="${output}/defaultexcludes-test.xml"/>
    <au:assertFileExists file="${output}/.svn/entries"/>
  </target>
</project>
