Merge "Frameworks/base: Fix LineBreakBufferedWriter" into nyc-dev

This commit is contained in:
Andreas Gampe
2016-02-11 16:26:18 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 1 deletions

View File

@@ -96,7 +96,7 @@ public class LineBreakBufferedWriter extends PrintWriter {
@Override
public void write(int c) {
if (bufferIndex < bufferSize) {
if (bufferIndex < buffer.length) {
buffer[bufferIndex] = (char)c;
bufferIndex++;
if ((char)c == '\n') {

View File

@@ -180,6 +180,22 @@ public class LineBreakBufferedWriterTest extends TestCase {
assertOutput("aaaaaaaaaabbbbbc\nd", "ddddddddd");
}
public void testMoreThenInitialCapacitySimpleWrites() {
// This check is different from testMoreThanBufferSizeChar. The initial capacity is lower
// than the maximum buffer size here.
final LineBreakBufferedWriter lw = new LineBreakBufferedWriter(mWriter, 1024, 3);
for(int i = 0; i < 10; i++) {
lw.print('$');
}
for(int i = 0; i < 10; i++) {
lw.print('%');
}
lw.flush();
assertOutput("$$$$$$$$$$%%%%%%%%%%");
}
private void assertOutput(String... golden) {
List<String> goldList = createTestGolden(golden);
assertEquals(goldList, mWriter.getStrings());