Browse Source

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
master
Antoine Levy-Lambert 22 years ago
parent
commit
92ff35184e
5 changed files with 65 additions and 3 deletions
  1. +9
    -0
      src/etc/testcases/taskdefs/replace.xml
  2. +6
    -0
      src/etc/testcases/taskdefs/replace/result.txt
  3. +4
    -0
      src/etc/testcases/taskdefs/replace/source.txt
  4. +3
    -0
      src/etc/testcases/taskdefs/replace/value.txt
  5. +43
    -3
      src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java

+ 9
- 0
src/etc/testcases/taskdefs/replace.xml View File

@@ -41,4 +41,13 @@
</replace>
</target>

<target name="test9">
<copy file="replace/source.txt" tofile="replace/output.txt"/>
<loadfile srcFile="replace/value.txt" property="content"/>
<replace file="replace/output.txt" token="@@@Replace this@@@" value="${content}"/>
</target>

<target name="cleanup">
<delete file="replace/output.txt" quiet="true"/>
</target>
</project>

+ 6
- 0
src/etc/testcases/taskdefs/replace/result.txt View File

@@ -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

+ 4
- 0
src/etc/testcases/taskdefs/replace/source.txt View File

@@ -0,0 +1,4 @@
This is line one
This is line two
This is line three
@@@Replace this@@@

+ 3
- 0
src/etc/testcases/taskdefs/replace/value.txt View File

@@ -0,0 +1,3 @@
This is line four
This is line five
This is line six

+ 43
- 3
src/testcases/org/apache/tools/ant/taskdefs/ReplaceTest.java View File

@@ -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 <nico@seessle.de>
*/
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();
}
}
}
}

Loading…
Cancel
Save