You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2007/07/06 08:26:10 UTC
svn commit: r553757 - in /harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/io/CharArrayReader.java
test/api/common/tests/api/java/io/CharArrayReaderTest.java
Author: tonywu
Date: Thu Jul 5 23:26:09 2007
New Revision: 553757
URL: http://svn.apache.org/viewvc?view=rev&rev=553757
Log:
Fix HARMONY-4357 ([classlib][luni] Compatibility: CharArrayReader.reset() behavior differs on Harmony and RI if the stream hasn't been marked)
Modified:
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/CharArrayReader.java
harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/tests/api/java/io/CharArrayReaderTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/CharArrayReader.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/CharArrayReader.java?view=diff&rev=553757&r1=553756&r2=553757
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/CharArrayReader.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/CharArrayReader.java Thu Jul 5 23:26:09 2007
@@ -79,6 +79,7 @@
}
this.buf = buf;
this.pos = offset;
+ this.markedPos = offset;
/* This is according to spec */
this.count = this.pos + length < buf.length ? length : buf.length;
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/tests/api/java/io/CharArrayReaderTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/tests/api/java/io/CharArrayReaderTest.java?view=diff&rev=553757&r1=553756&r2=553757
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/tests/api/java/io/CharArrayReaderTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/tests/api/java/io/CharArrayReaderTest.java Thu Jul 5 23:26:09 2007
@@ -162,9 +162,10 @@
}
/**
+ * @throws IOException
* @tests java.io.CharArrayReader#reset()
*/
- public void test_reset() {
+ public void test_reset() throws IOException {
// Test for method void java.io.CharArrayReader.reset()
try {
cr = new CharArrayReader(hw);
@@ -177,7 +178,20 @@
} catch (IOException e) {
fail("Exception during reset test : " + e.getMessage());
}
- }
+
+ // Regression for HARMONY-4357
+ String str = "offsetHello world!";
+ char[] data = new char[str.length()];
+ str.getChars(0, str.length(), data, 0);
+ int offsetLength = 6;
+ int length = data.length - offsetLength;
+
+ CharArrayReader reader = new CharArrayReader(data, offsetLength, length);
+ reader.reset();
+ System.out.print("\nAfter reset(): ");
+ for (int i = 0; i < length; i++)
+ assertEquals(data[offsetLength + i], (char) reader.read());
+ }
/**
* @tests java.io.CharArrayReader#skip(long)