<?xml version="1.0"?>
<project default="cleanup" basedir=".">

  <target name="init">
    <mkdir dir="result" />
  </target>

  <target name="cleanup">
    <delete dir="result"/>
  </target>

  <target name="testLineContains" depends="init">
    <copy todir="result">
      <fileset dir="input">
        <include name="linecontains.test"/>
      </fileset>
      <filterchain>
        <filterreader classname="org.apache.tools.ant.filters.LineContains">
          <param type="contains" value="beta"/>
        </filterreader>
      </filterchain>
    </copy>
    <!--<fixcrlf srcdir="result" eol="lf">
      <include name="linecontains.test"/>
    </fixcrlf>-->
  </target>
  
  <target name="testEscapeUnicode" depends="init">
    <copy todir="result" encoding="UTF-8">
      <fileset dir="input">
        <include name="escapeunicode.test"/>
      </fileset>
      <filterchain>
        <escapeunicode/>
      </filterchain>
    </copy>
    <fixcrlf srcdir="result" eol="crlf">
      <include name="escapeunicode.test"/>
    </fixcrlf>
  </target>

  <target name="testStripJavaComments" depends="init">
    <copy todir="result">
      <fileset dir="input" includes="stripjavacomments.test" />
      <filterchain>
        <filterreader classname="org.apache.tools.ant.filters.StripJavaComments" />
      </filterchain>
    </copy>
  </target>

  <target name="testReplaceTokens" depends="init">
    <copy todir="result">
      <fileset dir="input" includes="replacetokens.test" />
      <filterchain>
        <replacetokens>
          <token key="foo" value=""/>
        </replacetokens>
      </filterchain>
    </copy>
  </target>

  <target name="testNoAddNewLine" depends="init">
    <concat destfile="result/nonl">This has no new lines</concat>
    <copy file="result/nonl" tofile="result/nonl-copyfilter">
      <filterchain><tokenfilter/></filterchain>
    </copy>
    <condition property="filterchain.files.are.same">
      <filesmatch file1="result/nonl" file2="result/nonl-copyfilter"/>
    </condition>
    <fail unless="filterchain.files.are.same">File was modified</fail>
  </target>

</project>
