@Test
public void testNonAsciiReadWriteLine() throws Exception {
String s1 = constructString(SWISS_GERMAN_HELLO);
SessionOutputBufferMock outbuffer = new SessionOutputBufferMock(Consts.ISO_8859_1);
CharArrayBuffer chbuffer = new CharArrayBuffer(16);
for (int i = 0; i < 5; i++) {
chbuffer.clear();
chbuffer.append(s1);
outbuffer.writeLine(chbuffer);
}
for (int i = 0; i < 5; i++) {
outbuffer.writeLine(s1);
}
chbuffer.clear();
outbuffer.writeLine(chbuffer);
outbuffer.flush();
long bytesWritten = outbuffer.getMetrics().getBytesTransferred();
long expected = ((s1.toString().getBytes(Consts.ISO_8859_1.name()).length + 2)) * 10 + 2;
Assert.assertEquals(expected, bytesWritten);
SessionInputBufferMock inbuffer = new SessionInputBufferMock(
outbuffer.getData(), Consts.ISO_8859_1);
CharArrayBuffer buf = new CharArrayBuffer(64);
for (int i = 0; i < 10; i++) {
buf.clear();
int len = inbuffer.readLine(buf);