Browse Source

Don't add extra linefeed in <replaceregexp>

PR: 12407
Submitted by:	Stefan Moebius <stmoebius at yahoo.com>

Note that the byline="true" case is still broken (and a commented-out
test confirms this) - I'll look into it later this week.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273330 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 23 years ago
parent
commit
fb92b3da3b
5 changed files with 46 additions and 2 deletions
  1. +18
    -0
      src/etc/testcases/taskdefs/optional/replaceregexp.xml
  2. +1
    -0
      src/etc/testcases/taskdefs/optional/replaceregexp2.properties
  3. +1
    -0
      src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties
  4. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
  5. +25
    -1
      src/testcases/org/apache/tools/ant/taskdefs/optional/ReplaceRegExpTest.java

+ 18
- 0
src/etc/testcases/taskdefs/optional/replaceregexp.xml View File

@@ -8,6 +8,10 @@
<copy file="replaceregexp.properties" tofile="test.properties" />
</target>

<target name="setup-nl">
<copy file="replaceregexp2.properties" tofile="test.properties" />
</target>

<target name="testReplace" depends="setup">
<replaceregexp file="test.properties" byline="true">
<regexp pattern="Old(.*)=(.*)" />
@@ -15,6 +19,20 @@
</replaceregexp>
</target>

<target name="testDontAddNewline1" depends="setup-nl">
<replaceregexp file="test.properties" byline="false">
<regexp pattern="Old(.*)=(.*)" />
<substitution expression="NewProp=\1\2" />
</replaceregexp>
</target>

<target name="testDontAddNewline2" depends="setup-nl">
<replaceregexp file="test.properties" byline="true">
<regexp pattern="Old(.*)=(.*)" />
<substitution expression="NewProp=\1\2" />
</replaceregexp>
</target>

<target name="cleanup">
<delete file="test.properties" />
</target>


+ 1
- 0
src/etc/testcases/taskdefs/optional/replaceregexp2.properties View File

@@ -0,0 +1 @@
OldAbc=Def

+ 1
- 0
src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties View File

@@ -0,0 +1 @@
NewProp=AbcDef

+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java View File

@@ -354,7 +354,7 @@ public class ReplaceRegExp extends Task {
changes = true;
}

pw.println(res);
pw.print(res);
pw.flush();
}



+ 25
- 1
src/testcases/org/apache/tools/ant/taskdefs/optional/ReplaceRegExpTest.java View File

@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. All rights
* Copyright (c) 2001-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -54,8 +54,10 @@
package org.apache.tools.ant.taskdefs.optional;

import org.apache.tools.ant.BuildFileTest;
import org.apache.tools.ant.util.FileUtils;

import java.util.Properties;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

@@ -111,4 +113,26 @@ public class ReplaceRegExpTest extends BuildFileTest {
assertEquals("AbcDef", after.get("NewProp"));
}

public void testDontAddNewline1() throws IOException {
executeTarget("testDontAddNewline1");
assertTrue("Files match",
FileUtils.newFileUtils()
.contentEquals(new File("src/etc/testcases/taskdefs/optional/test.properties"),
new File("src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties")));
}

/**
* FIXME
*
* will be fixed this week, just running out of time and
* committing a partly fixed version now -- Stefan
public void testDontAddNewline2() throws IOException {
executeTarget("testDontAddNewline2");
assertTrue("Files match",
FileUtils.newFileUtils()
.contentEquals(new File("src/etc/testcases/taskdefs/optional/test.properties"),
new File("src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties")));
}
*/

}// ReplaceRegExpTest

Loading…
Cancel
Save