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();
+ }
+ }
+ }
}