Imported Upstream version 4.0.1.44

Former-commit-id: 25ecb6b7e167efcf4b0500e73daf6ec78889b0b8
This commit is contained in:
Xamarin Public Jenkins
2015-05-28 04:38:13 -04:00
parent c567abfd48
commit 98e85815fb
17 changed files with 32 additions and 11 deletions

View File

@@ -253,6 +253,13 @@ namespace System.IO {
m_buffer [pos ++] = (byte)read_byte;
bytes_read ++;
if (m_encoding is UnicodeEncoding) {
CheckBuffer (pos + 1);
read_byte = m_stream.ReadByte();
if (read_byte != -1) {
m_buffer [pos++] = (byte)read_byte;
}
}
int n = m_encoding.GetChars (m_buffer, 0, pos, buffer, index + chars_read);
if (n > 0)

View File

@@ -274,6 +274,20 @@ namespace MonoTests.System.IO
}
}
[Test]
public void TestReadUnicode ()
{
char testChar1 = 'H';
using (var stream = new MemoryStream())
using (var writer = new BinaryWriter(stream, Encoding.Unicode, true))
using (var reader = new BinaryReader(stream, Encoding.Unicode))
{
writer.Write(testChar1);
stream.Position = 0;
Assert.AreEqual ('H', reader.ReadChar ());
}
}
//-TODO: (TestRead[Type]*) Verify the ReadBoolean, ReadByte ....
// ReadBoolean, ReadByte, ReadChar, ReadInt32 Done