blob: f3d8cf5376b1be2f38b2303c5fc965fb8907e96c [file] [log] [blame]
<?xml version="1.0"?>
<project name="fixcrlf" default="cleanup" basedir=".">
<target name="init">
<mkdir dir="result" />
</target>
<target name="cleanup">
<delete dir="result" />
</target>
<macrodef name="assertequal">
<attribute name="junk" default="" />
<attribute name="name" default="Junk@{junk}.java" />
<attribute name="file1" default="result/@{name}" />
<attribute name="file2" default="expected/@{name}" />
<sequential>
<fail message="@{file1} and @{file2} are different">
<condition>
<not>
<filesmatch file1="@{file1}" file2="@{file2}" />
</not>
</condition>
</fail>
</sequential>
</macrodef>
<target name="test1" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk1.java"
javafiles="true" tab="add" eol="crlf" eof="asis" />
<assertequal junk="1" />
</target>
<target name="test2" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk2.java"
javafiles="true" tab="add" cr="add" eol="crlf" eof="asis" />
<assertequal junk="2" />
</target>
<target name="test3" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk3.java"
javafiles="true" tab="remove" eol="lf" eof="asis" />
<assertequal junk="3" />
</target>
<target name="test4" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk4.java"
javafiles="true" tab="remove" eol="lf" eof="asis" />
<assertequal junk="4" />
</target>
<target name="test5" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk5.java"
tab="remove" eol="lf" eof="asis" />
<assertequal junk="5" />
</target>
<target name="test6" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk6.java"
tab="add" cr="remove" eol="crlf" eof="asis" />
<assertequal junk="6" />
</target>
<target name="test7" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk7.java"
tab="add" cr="add" eof="asis" />
<assertequal junk="7" />
</target>
<target name="test8" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk8.java"
javafiles="true" tab="add" cr="add" eof="add" />
<assertequal junk="8" />
</target>
<target name="test9" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Junk9.java"
javafiles="true" tab="remove" cr="remove" eof="remove" />
<assertequal junk="9" />
</target>
<target name="testMacLines" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="Mac2Unix" eol="lf" />
<assertequal name="Mac2Unix" />
</target>
<target name="testNoOverwrite" depends="test1">
<touch file="result/Junk1.java" millis="0" />
<fixcrlf srcdir="input" destdir="result"
includes="Junk1.java" preservelastmodified="false"
javafiles="true" tab="add" eol="crlf" eof="asis" />
<fail message="overwrote unchanged output file">Q
<condition>
<not>
<isfileselected file="result/Junk1.java">
<date when="equal" millis="0" />
</isfileselected>
</not>
</condition>
</fail>
</target>
<target name="testEncoding" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="input.crlf.utf16"
javafiles="false" cr="remove" encoding="UnicodeBig" />
<assertequal file1="result/input.crlf.utf16"
file2="expected/input.lf.utf16" />
</target>
<target name="testOutputEncoding" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="input.crlf.utf16"
javafiles="false" eol="lf" encoding="UnicodeBig"
outputencoding="ascii" />
<assertequal file1="result/input.crlf.utf16"
file2="expected/input.lf.ascii" />
</target>
<target name="testLongLines" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="longlines.crlf"
javafiles="false" cr="remove" />
<assertequal file1="result/longlines.crlf"
file2="expected/longlines.lf" />
</target>
<target name="testCrCrLfSequence-unix" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="crcrlf" eol="lf" />
<assertequal file1="result/crcrlf"
file2="expected/crcrlf.unix" />
</target>
<target name="testCrCrLfSequence-dos" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="crcrlf" eol="crlf" />
<assertequal file1="result/crcrlf"
file2="expected/crcrlf.dos" />
</target>
<target name="testCrCrLfSequence-mac" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="crcrlf" eol="cr" />
<assertequal file1="result/crcrlf"
file2="expected/crcrlf.mac" />
</target>
<target name="testFixlastDos" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="fixlastfalse.lf" eol="crlf" />
<assertequal file1="result/fixlastfalse.lf"
file2="expected/fixlast.dos" />
</target>
<target name="testFixlastFalseMac" depends="init">
<fixcrlf srcdir="input" destdir="result"
includes="fixlastfalse.lf" eol="cr" fixlast="false" />
<assertequal file1="result/fixlastfalse.lf"
file2="expected/fixlastfalse.mac" />
</target>
<!-- Bugzilla Report 20840 -->
<target name="createParentDirs" depends="init">
<fixcrlf srcdir="." destdir="result" includes="input/Junk1.java" />
</target>
<target name="testFixFile" depends="init">
<fixcrlf file="input/longlines.crlf" destdir="result" />
<fail message="didn't create output file">
<condition>
<not>
<available file="result/longlines.crlf" />
</not>
</condition>
</fail>
</target>
<target name="testFixFileExclusive" depends="init">
<fixcrlf file="input/longlines.crlf" srcdir="input" destdir="result"/>
</target>
<target name="testPreserveLastModified" depends="init">
<fixcrlf file="input/longlines.crlf" destdir="result"
preservelastmodified="true" />
<fail>
<condition>
<not>
<uptodate srcfile="result/longlines.crlf"
targetfile="input/longlines.crlf" />
</not>
</condition>
</fail>
<touch file="result/longlines.crlf" millis="0" />
<fixcrlf file="result/longlines.crlf" destdir="result" eol="lf"
preservelastmodified="true" />
<fileset id="fs" file="result/longlines.crlf">
<date when="equal" millis="0" />
</fileset>
<property name="fs" refid="fs" />
<fail unless="fs" />
</target>
<target name="testFilter1" depends="init">
<copy file="input/Junk1.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="add"
eol="crlf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="1" />
</target>
<target name="testFilter2" depends="init">
<copy file="input/Junk2.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="add" cr="add" eol="crlf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="2" />
</target>
<target name="testFilter3" depends="init">
<copy file="input/Junk3.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="3" />
</target>
<target name="testFilter4" depends="init">
<copy file="input/Junk4.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="4" />
</target>
<target name="testFilter5" depends="init">
<copy file="input/Junk5.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf tab="remove" eol="lf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="5" />
</target>
<target name="testFilter6" depends="init">
<copy file="input/Junk6.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf tab="add" cr="remove" eol="crlf" eof="asis" />
</filterchain>
</copy>
<assertequal junk="6" />
</target>
<target name="testFilter7" depends="init">
<copy file="input/Junk7.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf tab="add" cr="add" eof="asis" />
</filterchain>
</copy>
<assertequal junk="7" />
</target>
<target name="testFilter8" depends="init">
<copy file="input/Junk8.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="add" cr="add" eof="add" />
</filterchain>
</copy>
<assertequal junk="8" />
</target>
<target name="testFilter9" depends="init">
<copy file="input/Junk9.java" todir="result" overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="remove" cr="remove" eof="remove" />
</filterchain>
</copy>
<assertequal junk="9" />
</target>
<target name="testCannotDoubleEof" depends="test8">
<fixcrlf file="result/Junk8.java"
javafiles="true" tab="add" cr="add" eof="add" />
<assertequal junk="8" />
</target>
<target name="testTabInLiteralInComment">
<copy file="input/tab_in_literal_in_comment" todir="result"
overwrite="true">
<filterchain>
<fixcrlf javafiles="true" tab="remove" eol="lf" fixlast="false" />
</filterchain>
</copy>
<assertequal name="tab_in_literal_in_comment" />
</target>
</project>