[classlib][luni] InputStreamReader allocates fixed space internal buffer
------------------------------------------------------------------------
Key: HARMONY-3238
URL: https://issues.apache.org/jira/browse/HARMONY-3238
Project: Harmony
Issue Type: Bug
Components: Classlib
Reporter: Ruth Cao
The following test case[1] fails on Harmony while passes on RI. It is due to java.io.InputStreamReader
allocates fixed space. Error occurs when the dest buffer is larger than the internal one.
Besides, after the bug is fixed, tests.api.java.io.OutputStreamWriterTest can be taken out
of the exclue list. I'll provide a patch soon.
[1] public void testHandleEarlyEOFChar_2() throws IOException {
int capacity = 65536;
byte[] bytes = new byte[capacity];
byte[] bs = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
for (int i = 0; i < bytes.length; i++) {
bytes[i] = bs[i / 8192];
}
String inputStr = new String(bytes);
int len = inputStr.length();
File f = File.createTempFile("FileWriterBugTest ", null); //$NON-NLS-1$
FileWriter writer = new FileWriter(f);
writer.write(inputStr);
writer.close();
long flen = f.length();
FileReader reader = new FileReader(f);
char[] outChars = new char[capacity];
int outCount = reader.read(outChars);
String outStr = new String(outChars, 0, outCount);
f.deleteOnExit();
assertEquals(len, flen);
assertEquals(inputStr, outStr);
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|