public static UnpackCharStream ( Stream source ) : MsgPack.UnpackingStreamReader | ||
source | Stream | The |
return | MsgPack.UnpackingStreamReader |
public void TestUnpackCharStream_Stream_1ByteNonUtf8String_ExceptionInReaderOperation() { using (var stream = new MemoryStream(new byte[] { 0xA1, 0xFF })) { using (var result = Unpacking.UnpackCharStream(stream)) { Assert.Throws <DecoderFallbackException>(() => result.Read()); } } }
public void TestUnpackCharStream_Stream_1Char_AsIsAndBounded() { using (var stream = new MemoryStream(new byte[] { 0xA1, ( byte )'A', 0xFF })) { using (var result = Unpacking.UnpackCharStream(stream)) { AssertStringReader(result, 1, "A"); } // Assert is valid position on unerlying stream. Assert.That(Unpacking.UnpackInt32(stream), Is.EqualTo(-1)); } }
public void TestUnpackCharStream_Stream_Encoding_Empty_AsIsAndBounded() { using (var stream = new MemoryStream(new byte[] { 0xA0, 0xFF })) { #if !NETFX_CORE && !SILVERLIGHT using (var result = Unpacking.UnpackCharStream(stream, Encoding.UTF32)) #else using (var result = Unpacking.UnpackCharStream(stream, Encoding.UTF8)) #endif // !NETFX_CORE && !SILVERLIGHT { AssertStringReader(result, 0, String.Empty); } // Assert is valid position on unerlying stream. Assert.That(Unpacking.UnpackInt32(stream), Is.EqualTo(-1)); } }
public void TestUnpackCharStream_Stream_Encoding_1Byte_AsIsAndBounded() { #if !NETFX_CORE && !SILVERLIGHT using (var stream = new MemoryStream(new byte[] { 0xA4, 0x00, 0x00, 0x00, ( byte )'A', 0xFF })) #else using (var stream = new MemoryStream(new byte[] { 0xA2, 0x00, ( byte )'A', 0xFF })) #endif // !NETFX_CORE && !SILVERLIGHT { #if !NETFX_CORE && !SILVERLIGHT using (var result = Unpacking.UnpackCharStream(stream, new UTF32Encoding(bigEndian: true, byteOrderMark: false, throwOnInvalidCharacters: true))) { AssertStringReader(result, 4, "A"); } #else using (var result = Unpacking.UnpackCharStream(stream, new UnicodeEncoding(bigEndian: true, byteOrderMark: false, throwOnInvalidBytes: true))) { AssertStringReader(result, 2, "A"); } #endif // !NETFX_CORE && !SILVERLIGHT // Assert is valid position on unerlying stream. Assert.That(Unpacking.UnpackInt32(stream), Is.EqualTo(-1)); } }
public void TestUnpackCharStream_Stream_Encoding_1ByteNonSpecifiedString_ExceptionInReaderOperation() { #if MONO Assert.Inconclusive("UTF32Encoding does not throw exception on Mono FCL."); #endif #if !NETFX_CORE using (var stream = new MemoryStream(new byte[] { 0xA4, 0x7F, 0x7F, 0x7F, 0x7F })) { using (var result = Unpacking.UnpackCharStream(stream, new UTF32Encoding(bigEndian: true, byteOrderMark: false, throwOnInvalidCharacters: true))) { Assert.Throws <DecoderFallbackException>(() => result.Read()); } } #else using (var stream = new MemoryStream(new byte[] { 0xA5, 0xF8, 0x88, 0x80, 0x80, 0x80 })) { using (var result = Unpacking.UnpackCharStream(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true))) { Assert.Throws <DecoderFallbackException>(() => result.Read()); } } #endif }
public void TestUnpackCharStream_Stream_Encoding_EncodingIsNull() { Assert.Throws <ArgumentNullException>(() => Unpacking.UnpackCharStream(new MemoryStream(new byte[] { 0xA1, ( byte )'A' }), null)); }
public void TestUnpackCharStream_Stream_Encoding_StreamIsNull() { Assert.Throws <ArgumentNullException>(() => Unpacking.UnpackCharStream(null, Encoding.UTF8)); }
public void TestUnpackCharStream_Stream_Null() { Assert.Throws <ArgumentNullException>(() => Unpacking.UnpackCharStream(null)); }