public void ReadAsBytesArrayWithBadContent() { JsonTextReader reader = new JsonTextReader(new StringReader(@"[1.0]")); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Unexpected token when reading bytes: Float. Path '[0]', line 1, position 4."); }
public void ReadAsBytesIntegerArrayWithComments() { JsonTextReader reader = new JsonTextReader(new StringReader(@"[/*hi*/1/*hi*/,2/*hi*/]")); byte[] data = reader.ReadAsBytes(); Assert.Equal(2, data.Length); Assert.Equal(1, data[0]); Assert.Equal(2, data[1]); }
public void ReadAsBytesIntegerArrayWithNoEnd() { JsonTextReader reader = new JsonTextReader(new StringReader(@"[1")); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Unexpected end when reading bytes. Path '[0]', line 1, position 2."); }
public void ReadAsBytesNoContentWrappedObject() { JsonTextReader reader = new JsonTextReader(new StringReader(@"{")); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Unexpected end when reading bytes. Path '', line 1, position 1."); }
public void ReadAsBytesBadContent() { JsonTextReader reader = new JsonTextReader(new StringReader(@"new Date()")); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Error reading bytes. Unexpected token: StartConstructor. Path '', line 1, position 9."); }
public void ReadSingleBytes() { StringReader s = new StringReader(@"""SGVsbG8gd29ybGQu"""); JsonTextReader reader = new JsonTextReader(s); byte[] data = reader.ReadAsBytes(); Assert.NotNull(data); string text = Encoding.UTF8.GetString(data, 0, data.Length); Assert.Equal("Hello world.", text); }
public void ReadAsBytesNoContent() { JsonTextReader reader = new JsonTextReader(new StringReader(@"")); Assert.Null(reader.ReadAsBytes()); Assert.Equal(JsonToken.None, reader.TokenType); }
public void ReadBytesWithError() { string json = @"{ ChildId: '123' }"; JsonTextReader jsonTextReader = new JsonTextReader(new StringReader(json)); Assert.True(jsonTextReader.Read()); Assert.Equal(JsonToken.StartObject, jsonTextReader.TokenType); Assert.True(jsonTextReader.Read()); Assert.Equal(JsonToken.PropertyName, jsonTextReader.TokenType); try { jsonTextReader.ReadAsBytes(); } catch (FormatException) { } Assert.True(jsonTextReader.Read()); Assert.Equal(JsonToken.EndObject, jsonTextReader.TokenType); Assert.False(jsonTextReader.Read()); }
public void ReadBytesFollowingNumberInObject() { string helloWorld = "Hello world!"; byte[] helloWorldData = Encoding.UTF8.GetBytes(helloWorld); JsonReader reader = new JsonTextReader(new StringReader(@"{num:1,data:'" + Convert.ToBase64String(helloWorldData) + @"'}")); Assert.True(reader.Read()); Assert.Equal(JsonToken.StartObject, reader.TokenType); Assert.True(reader.Read()); Assert.True(reader.Read()); Assert.Equal(JsonToken.Integer, reader.TokenType); Assert.True(reader.Read()); byte[] data = reader.ReadAsBytes(); Assert.Equal(helloWorldData, data); Assert.Equal(JsonToken.Bytes, reader.TokenType); Assert.True(reader.Read()); Assert.Equal(JsonToken.EndObject, reader.TokenType); Assert.False(reader.Read()); }
public void ReadBytesNoStartWithUnexpectedEnd() { JsonReader reader = new JsonTextReader(new StringReader(@"[ ")); Assert.True(reader.Read()); Assert.Null(reader.ReadAsBytes()); Assert.Equal(JsonToken.None, reader.TokenType); }
public void ReadBytesWithUnexpectedEnd() { string helloWorld = "Hello world!"; byte[] helloWorldData = Encoding.UTF8.GetBytes(helloWorld); JsonReader reader = new JsonTextReader(new StringReader(@"'" + Convert.ToBase64String(helloWorldData))); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Unterminated string. Expected delimiter: '. Path '', line 1, position 17."); }
public void ReadBytesWithBadCharacter() { JsonReader reader = new JsonTextReader(new StringReader(@"true")); AssertException.Throws<JsonReaderException>(() => { reader.ReadAsBytes(); }, "Error reading bytes. Unexpected token: Boolean. Path '', line 1, position 4."); }