From aa76b5aecbef4be2f5c12ce29e0c5f5b20846289 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 26 Apr 2014 13:12:13 +1200 Subject: [PATCH] -Test --- .../Serialization/JsonSerializerTest.cs | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs index 6a0adaea..57cb2976 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs @@ -7846,7 +7846,7 @@ Parameter name: value", Assert.AreEqual(JTokenType.Date, v.Type); Assert.AreEqual(typeof(DateTime), v.Value.GetType()); Assert.AreEqual(dt, (DateTime)v.Value); - + reader = new JsonTextReader(new StringReader(@"""abc""")) { DateFormatString = dateFormatString @@ -7858,6 +7858,31 @@ Parameter name: value", Assert.AreEqual("abc", v.Value); } + [Test] + public void DateFormatStringWithDictionaryKey() + { + DateTime dt = new DateTime(2000, 12, 22); + string dateFormatString = "yyyy'-pie-'MMM'-'dddd'-'dd"; + JsonSerializerSettings settings = new JsonSerializerSettings + { + DateFormatString = dateFormatString, + Formatting = Formatting.Indented + }; + + string json = JsonConvert.SerializeObject(new Dictionary + { + { dt, "123" } + }, settings); + + Assert.AreEqual(@"{ + ""2000-pie-Dec-Friday-22"": ""123"" +}", json); + + Dictionary d = JsonConvert.DeserializeObject>(json, settings); + + Assert.AreEqual(dt, d.Keys.ElementAt(0)); + } + #if !NET20 [Test] public void DateFormatStringWithDateTimeOffset()