Author: mbenson
Date: Wed May 9 10:12:26 2007
New Revision: 536592
URL: http://svn.apache.org/viewvc?view=rev&rev=536592
Log:
concat fixlastline/nested text regression; PR 42369
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java
ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=536592&r1=536591&r2=536592
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed May 9 10:12:26 2007
@@ -70,6 +70,9 @@
* handle null result of system getProperty(). Bugzilla 42334.
+* Regression: concat fixlastline="true" should not have applied to
+ nested text, but did in Ant 1.7.0. Bugzilla 42369.
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java?view=diff&rev=536592&r1=536591&r2=536592
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Concat.java Wed May
9 10:12:26 2007
@@ -265,7 +265,7 @@
int ch = getReader().read();
if (ch == -1) {
nextReader();
- if (fixLastLine && isMissingEndOfLine()) {
+ if (isFixLastLine() && isMissingEndOfLine()) {
needAddSeparator = true;
lastPos = 0;
}
@@ -307,12 +307,12 @@
int nRead = getReader().read(cbuf, off, len);
if (nRead == -1 || nRead == 0) {
nextReader();
- if (fixLastLine && isMissingEndOfLine()) {
+ if (isFixLastLine() && isMissingEndOfLine()) {
needAddSeparator = true;
lastPos = 0;
}
} else {
- if (fixLastLine) {
+ if (isFixLastLine()) {
for (int i = nRead;
i > (nRead - lastChars.length);
--i) {
@@ -369,6 +369,10 @@
}
return false;
}
+
+ private boolean isFixLastLine() {
+ return fixLastLine && textBuffer == null;
+ }
}
private class ConcatResource extends Resource {
@@ -887,10 +891,8 @@
* for "ignorable whitespace" as well.</p>
*/
private void sanitizeText() {
- if (textBuffer != null) {
- if (textBuffer.substring(0).trim().length() == 0) {
- textBuffer = null;
- }
+ if (textBuffer != null && "".equals(textBuffer.toString().trim())) {
+ textBuffer = null;
}
}
Modified: ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml?view=diff&rev=536592&r1=536591&r2=536592
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/concat-test.xml Wed May 9
10:12:26 2007
@@ -1,4 +1,6 @@
-<project xmlns:au="antlib:org.apache.ant.antunit">
+<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
+ <import file="../antunit-base.xml" />
+
<target name="tearDown">
<delete file="binaryAppendDest" />
<delete file="encodeStringDest" />
@@ -31,6 +33,15 @@
<resourcesmatch astext="true">
<file file="utf-16.expected" />
<file file="encodeStringDest" />
+ </resourcesmatch>
+ </au:assertTrue>
+ </target>
+
+ <target name="testDoNotFixNestedText" description="Bugzilla 42369">
+ <au:assertTrue>
+ <resourcesmatch>
+ <string>foo</string>
+ <concat fixlastline="true">foo</concat>
</resourcesmatch>
</au:assertTrue>
</target>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]