From 92ff35184e538795bdf89c9cae90fa3c13d9516b Mon Sep 17 00:00:00 2001 From: Antoine Levy-Lambert Date: Mon, 28 Jul 2003 00:16:06 +0000 Subject: [PATCH] new testcase to show a problem on Windows with \r\n being replaced to \r\r\n git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274961 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/replace.xml | 9 ++++ src/etc/testcases/taskdefs/replace/result.txt | 6 +++ src/etc/testcases/taskdefs/replace/source.txt | 4 ++ src/etc/testcases/taskdefs/replace/value.txt | 3 ++ .../tools/ant/taskdefs/ReplaceTest.java | 46 +++++++++++++++++-- 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 src/etc/testcases/taskdefs/replace/result.txt create mode 100644 src/etc/testcases/taskdefs/replace/source.txt create mode 100644 src/etc/testcases/taskdefs/replace/value.txt diff --git a/src/etc/testcases/taskdefs/replace.xml b/src/etc/testcases/taskdefs/replace.xml index e7cf195b8..079d34a9f 100644 --- a/src/etc/testcases/taskdefs/replace.xml +++ b/src/etc/testcases/taskdefs/replace.xml @@ -41,4 +41,13 @@ + + + + + + + + + diff --git a/src/etc/testcases/taskdefs/replace/result.txt b/src/etc/testcases/taskdefs/replace/result.txt new file mode 100644 index 000000000..15b2d6961 --- /dev/null +++ b/src/etc/testcases/taskdefs/replace/result.txt @@ -0,0 +1,6 @@ +This is line one +This is line two +This is line three +This is line four +This is line five +This is line six diff --git a/src/etc/testcases/taskdefs/replace/source.txt b/src/etc/testcases/taskdefs/replace/source.txt new file mode 100644 index 000000000..8d73f317e --- /dev/null +++ b/src/etc/testcases/taskdefs/replace/source.txt @@ -0,0 +1,4 @@ +This is line one +This is line two +This is line three +@@@Replace this@@@ diff --git a/src/etc/testcases/taskdefs/replace/value.txt b/src/etc/testcases/taskdefs/replace/value.txt new file mode 100644 index 000000000..c75b5529f --- /dev/null +++ b/src/etc/testcases/taskdefs/replace/value.txt @@ -0,0 +1,3 @@ +This is line four +This is line five +This is line six \ No newline at end of file diff --git a/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java b/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java index dacefc7ce..66c1008c4 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java @@ -56,12 +56,17 @@ package org.apache.tools.ant.taskdefs; import org.apache.tools.ant.BuildFileTest; +import java.io.*; + +import junit.framework.AssertionFailedError; + /** * @author Nico Seessle */ -public class ReplaceTest extends BuildFileTest { - - public ReplaceTest(String name) { +public class ReplaceTest extends BuildFileTest { + + private static final String TEST_PATH = "src/etc/testcases/taskdefs/replace/"; + public ReplaceTest(String name) { super(name); } @@ -101,4 +106,39 @@ public class ReplaceTest extends BuildFileTest { executeTarget("test8"); } + public void test9() throws IOException{ + executeTarget("test9"); + assertEqualContent(new File(TEST_PATH + "result.txt"), + new File(TEST_PATH + "output.txt")); + } + public void tearDown() { + executeTarget("cleanup"); + } + public void assertEqualContent(File expect, File result) + throws AssertionFailedError, IOException { + if (!result.exists()) { + fail("Expected file "+result+" doesn\'t exist"); + } + + InputStream inExpect = null; + InputStream inResult = null; + try { + inExpect = new BufferedInputStream(new FileInputStream(expect)); + inResult = new BufferedInputStream(new FileInputStream(result)); + + int expectedByte = inExpect.read(); + while (expectedByte != -1) { + assertEquals(expectedByte, inResult.read()); + expectedByte = inExpect.read(); + } + assertEquals("End of file", -1, inResult.read()); + } finally { + if (inResult != null) { + inResult.close(); + } + if (inExpect != null) { + inExpect.close(); + } + } + } }