-Added DBNull support to JValue

This commit is contained in:
JamesNK
2009-11-05 06:04:58 +00:00
parent 4ae9c5767b
commit 621b647654
3 changed files with 24 additions and 0 deletions
@@ -1394,5 +1394,23 @@ Parameter name: arrayIndex")]
Assert.AreEqual("Name2", value);
}
[Test]
public void WriteObjectNullDBNullValue()
{
DBNull dbNull = DBNull.Value;
JValue v = new JValue(dbNull);
Assert.AreEqual(DBNull.Value, v.Value);
Assert.AreEqual(JTokenType.Null, v.Type);
JObject o = new JObject();
o["title"] = v;
string output = o.ToString();
Assert.AreEqual(@"{
""title"": null
}", output);
}
}
}
@@ -56,6 +56,10 @@ namespace Newtonsoft.Json.Tests.Linq
v.Value = "Pie";
Assert.AreEqual("Pie", v.Value);
Assert.AreEqual(JTokenType.String, v.Type);
v.Value = DBNull.Value;
Assert.AreEqual(DBNull.Value, v.Value);
Assert.AreEqual(JTokenType.Null, v.Type);
}
[Test]
+2
View File
@@ -203,6 +203,8 @@ namespace Newtonsoft.Json.Linq
{
if (value == null)
return JTokenType.Null;
else if (value == DBNull.Value)
return JTokenType.Null;
else if (value is string)
return GetStringValueType(current);
else if (value is long || value is int || value is short || value is sbyte