FixCRLF task. Translated test assertions from Java to Ant. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277825 13f79535-47bb-0310-9956-ffa450edef68master
@@ -8,162 +8,172 @@ | |||
<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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
javafiles="false" cr="remove" encoding="UnicodeBig" /> | |||
<assertequal file1="result/input.crlf.utf16" | |||
file2="expected/input.lf.utf16" /> | |||
</target> | |||
<target name="testLongLines" depends="init"> | |||
<fixcrlf srcdir="input" destdir="result" | |||
includes="longlines.crlf" | |||
javafiles="false" | |||
cr="remove" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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" | |||
/> | |||
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"/> | |||
<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"> | |||
@@ -194,20 +204,6 @@ | |||
<fail unless="fs" /> | |||
</target> | |||
<macrodef name="testjunk"> | |||
<attribute name="n" /> | |||
<sequential> | |||
<fail> | |||
<condition> | |||
<not> | |||
<filesmatch file1="result/Junk@{n}.java" | |||
file2="expected/Junk@{n}.java" /> | |||
</not> | |||
</condition> | |||
</fail> | |||
</sequential> | |||
</macrodef> | |||
<target name="testFilter1" depends="init"> | |||
<copy file="input/Junk1.java" todir="result" overwrite="true"> | |||
<filterchain> | |||
@@ -215,7 +211,7 @@ | |||
eol="crlf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="1" /> | |||
<assertequal junk="1" /> | |||
</target> | |||
<target name="testFilter2" depends="init"> | |||
@@ -224,7 +220,7 @@ | |||
<fixcrlf javafiles="true" tab="add" cr="add" eol="crlf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="2" /> | |||
<assertequal junk="2" /> | |||
</target> | |||
<target name="testFilter3" depends="init"> | |||
@@ -233,7 +229,7 @@ | |||
<fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="3" /> | |||
<assertequal junk="3" /> | |||
</target> | |||
<target name="testFilter4" depends="init"> | |||
@@ -242,7 +238,7 @@ | |||
<fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="4" /> | |||
<assertequal junk="4" /> | |||
</target> | |||
<target name="testFilter5" depends="init"> | |||
@@ -251,7 +247,7 @@ | |||
<fixcrlf tab="remove" eol="lf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="5" /> | |||
<assertequal junk="5" /> | |||
</target> | |||
<target name="testFilter6" depends="init"> | |||
@@ -260,7 +256,7 @@ | |||
<fixcrlf tab="add" cr="remove" eol="crlf" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="6" /> | |||
<assertequal junk="6" /> | |||
</target> | |||
<target name="testFilter7" depends="init"> | |||
@@ -269,7 +265,7 @@ | |||
<fixcrlf tab="add" cr="add" eof="asis" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="7" /> | |||
<assertequal junk="7" /> | |||
</target> | |||
<target name="testFilter8" depends="init"> | |||
@@ -278,7 +274,7 @@ | |||
<fixcrlf javafiles="true" tab="add" cr="add" eof="add" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="8" /> | |||
<assertequal junk="8" /> | |||
</target> | |||
<target name="testFilter9" depends="init"> | |||
@@ -287,7 +283,13 @@ | |||
<fixcrlf javafiles="true" tab="remove" cr="remove" eof="remove" /> | |||
</filterchain> | |||
</copy> | |||
<testjunk n="9" /> | |||
<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> | |||
</project> |
@@ -42,144 +42,78 @@ public class FixCrLfTest extends BuildFileTest { | |||
public void test1() throws IOException { | |||
executeTarget("test1"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk1.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java")); | |||
} | |||
public void test2() throws IOException { | |||
executeTarget("test2"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk2.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk2.java")); | |||
} | |||
public void test3() throws IOException { | |||
executeTarget("test3"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk3.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk3.java")); | |||
} | |||
public void test4() throws IOException { | |||
executeTarget("test4"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk4.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk4.java")); | |||
} | |||
public void test5() throws IOException { | |||
executeTarget("test5"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk5.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk5.java")); | |||
} | |||
public void test6() throws IOException { | |||
executeTarget("test6"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk6.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk6.java")); | |||
} | |||
public void test7() throws IOException { | |||
executeTarget("test7"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk7.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk7.java")); | |||
} | |||
public void test8() throws IOException { | |||
executeTarget("test8"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk8.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk8.java")); | |||
} | |||
public void test9() throws IOException { | |||
executeTarget("test9"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Junk9.java"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk9.java")); | |||
} | |||
public void testMacLines() throws IOException { | |||
executeTarget("testMacLines"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/Mac2Unix"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Mac2Unix")); | |||
} | |||
public void testNoOverwrite() throws IOException { | |||
executeTarget("test1"); | |||
File result = | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||
long modTime = result.lastModified(); | |||
/* | |||
* Sleep for some time to make sure a newer file would get a | |||
* more recent timestamp according to the file system's | |||
* granularity (should be > 2s to account for Windows FAT). | |||
*/ | |||
try { | |||
Thread.sleep(5000); | |||
} catch (InterruptedException ie) { | |||
fail(ie.getMessage()); | |||
} // end of try-catch | |||
/* | |||
* make sure we get a new Project instance or the target won't get run | |||
* a second time. | |||
*/ | |||
configureProject("src/etc/testcases/taskdefs/fixcrlf/build.xml"); | |||
executeTarget("test1"); | |||
result = | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/Junk1.java"); | |||
assertEquals(modTime, result.lastModified()); | |||
executeTarget("testNoOverwrite"); | |||
} | |||
public void testEncoding() throws IOException { | |||
if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1)) { | |||
// UTF16 is not supported in JDK 1.1 | |||
return; | |||
} | |||
executeTarget("testEncoding"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/input.lf.utf16"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/input.crlf.utf16")); | |||
} | |||
public void testLongLines() throws IOException { | |||
executeTarget("testLongLines"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/longlines.lf"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/longlines.crlf")); | |||
} | |||
public void testCrCrLfSequenceUnix() throws IOException { | |||
executeTarget("testCrCrLfSequence-unix"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.unix"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||
} | |||
public void testCrCrLfSequenceDos() throws IOException { | |||
executeTarget("testCrCrLfSequence-dos"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.dos"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||
} | |||
public void testCrCrLfSequenceMac() throws IOException { | |||
executeTarget("testCrCrLfSequence-mac"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/crcrlf.mac"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/crcrlf")); | |||
} | |||
public void testFixlastDos() throws IOException { | |||
executeTarget("testFixlastDos"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/fixlast.dos"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||
} | |||
public void testFixlastFalseMac() throws IOException { | |||
executeTarget("testFixlastFalseMac"); | |||
assertEqualContent(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/expected/fixlastfalse.mac"), | |||
new File(System.getProperty("root"), "src/etc/testcases/taskdefs/fixcrlf/result/fixlastfalse.lf")); | |||
} | |||
public void testFixFile() throws Exception { | |||
executeTarget("testFixFile"); | |||
File created= new File(System.getProperty("root"), | |||
"src/etc/testcases/taskdefs/fixcrlf/result/longlines.crlf"); | |||
assertTrue("didnt create output file",created.exists()); | |||
} | |||
public void testFixFileExclusive() throws Exception { | |||
@@ -237,6 +171,11 @@ public class FixCrLfTest extends BuildFileTest { | |||
executeTarget("testFilter9"); | |||
} | |||
public void testCannotDoubleEof() { | |||
executeTarget("testCannotDoubleEof"); | |||
} | |||
// not used, but public so theoretically must remain for BC? | |||
public void assertEqualContent(File expect, File result) | |||
throws AssertionFailedError, IOException { | |||
if (!result.exists()) { | |||