diff options
author | James Newton-King <james@newtonking.com> | 2012-02-18 16:25:47 +0400 |
---|---|---|
committer | James Newton-King <james@newtonking.com> | 2012-02-18 16:25:47 +0400 |
commit | 4f8832adc084c83f3825f640afee8b30246eace8 (patch) | |
tree | 4a9e1f4fc628258532d3ef32af72be9930e4ccd0 /Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs | |
parent | c876e1d9cc2d53ff5143423d4d047a7cf3136340 (diff) |
-Fixed error when deserializing nullable types with no content
-Changed JsonReaders to set TokenType to JsonToken.None after finishing content
-Changed the ReadAsXXX methods to return null instead of throwing an error when there is no content
Diffstat (limited to 'Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs')
-rw-r--r-- | Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs index 987489d..bda2f3e 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTest.cs @@ -553,12 +553,13 @@ Parameter name: reader")] }
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected end when reading bytes. Line 1, position 3.")]
public void ReadBytesNoStartWithUnexpectedEnd()
{
JsonReader reader = new JsonTextReader(new StringReader(@"[ "));
Assert.IsTrue(reader.Read());
- reader.ReadAsBytes();
+
+ Assert.IsNull(reader.ReadAsBytes());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
[Test]
@@ -909,11 +910,11 @@ bye", reader.Value); Assert.AreEqual(typeof(string), reader.ValueType);
Assert.AreEqual(20000, reader.Value.ToString().Length);
- reader.Read();
+ Assert.IsTrue(reader.Read());
Assert.AreEqual(JsonToken.EndArray, reader.TokenType);
- reader.Read();
- Assert.AreEqual(JsonToken.EndArray, reader.TokenType);
+ Assert.IsFalse(reader.Read());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
[Test]
@@ -1128,21 +1129,21 @@ bye", reader.Value); }
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected end when reading decimal. Line 0, position 0.")]
public void ReadAsDecimalNoContent()
{
JsonTextReader reader = new JsonTextReader(new StringReader(@""));
- reader.ReadAsDecimal();
+ Assert.IsNull(reader.ReadAsDecimal());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected end when reading bytes. Line 0, position 0.")]
public void ReadAsBytesNoContent()
{
JsonTextReader reader = new JsonTextReader(new StringReader(@""));
- reader.ReadAsBytes();
+ Assert.IsNull(reader.ReadAsBytes());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
[Test]
@@ -1156,12 +1157,12 @@ bye", reader.Value); #if !NET20
[Test]
- [ExpectedException(typeof(JsonReaderException), ExpectedMessage = "Unexpected end when reading date. Line 0, position 0.")]
public void ReadAsDateTimeOffsetNoContent()
{
JsonTextReader reader = new JsonTextReader(new StringReader(@""));
- reader.ReadAsDateTimeOffset();
+ Assert.IsNull(reader.ReadAsDateTimeOffset());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
#endif
@@ -1171,7 +1172,8 @@ bye", reader.Value); {
JsonTextReader reader = new JsonTextReader(new StringReader(@"new Date()"));
- reader.ReadAsDecimal();
+ Assert.IsNull(reader.ReadAsDecimal());
+ Assert.AreEqual(JsonToken.None, reader.TokenType);
}
[Test]
|