public void DateParseHandling() { string json = @"[""1970-01-01T00:00:00Z"",""\/Date(0)\/""]"; JsonTextReader reader = new JsonTextReader(new StringReader(json)); reader.DateParseHandling = Json.DateParseHandling.DateTime; Assert.True(reader.Read()); Assert.True(reader.Read()); Assert.Equal(new DateTime(DateTimeUtils.InitialJavaScriptDateTicks, DateTimeKind.Utc), reader.Value); Assert.Equal(typeof(DateTime), reader.ValueType); Assert.True(reader.Read()); Assert.Equal(new DateTime(DateTimeUtils.InitialJavaScriptDateTicks, DateTimeKind.Utc), reader.Value); Assert.Equal(typeof(DateTime), reader.ValueType); Assert.True(reader.Read()); #if !NET20 reader = new JsonTextReader(new StringReader(json)); reader.DateParseHandling = Json.DateParseHandling.DateTimeOffset; Assert.True(reader.Read()); Assert.True(reader.Read()); Assert.Equal(new DateTimeOffset(DateTimeUtils.InitialJavaScriptDateTicks, TimeSpan.Zero), reader.Value); Assert.Equal(typeof(DateTimeOffset), reader.ValueType); Assert.True(reader.Read()); Assert.Equal(new DateTimeOffset(DateTimeUtils.InitialJavaScriptDateTicks, TimeSpan.Zero), reader.Value); Assert.Equal(typeof(DateTimeOffset), reader.ValueType); Assert.True(reader.Read()); #endif reader = new JsonTextReader(new StringReader(json)); reader.DateParseHandling = Json.DateParseHandling.None; Assert.True(reader.Read()); Assert.True(reader.Read()); Assert.Equal(@"1970-01-01T00:00:00Z", reader.Value); Assert.Equal(typeof(string), reader.ValueType); Assert.True(reader.Read()); Assert.Equal(@"/Date(0)/", reader.Value); Assert.Equal(typeof(string), reader.ValueType); Assert.True(reader.Read()); #if !NET20 reader = new JsonTextReader(new StringReader(json)); reader.DateParseHandling = Json.DateParseHandling.DateTime; Assert.True(reader.Read()); reader.ReadAsDateTimeOffset(); Assert.Equal(new DateTimeOffset(DateTimeUtils.InitialJavaScriptDateTicks, TimeSpan.Zero), reader.Value); Assert.Equal(typeof(DateTimeOffset), reader.ValueType); reader.ReadAsDateTimeOffset(); Assert.Equal(new DateTimeOffset(DateTimeUtils.InitialJavaScriptDateTicks, TimeSpan.Zero), reader.Value); Assert.Equal(typeof(DateTimeOffset), reader.ValueType); Assert.True(reader.Read()); reader = new JsonTextReader(new StringReader(json)); reader.DateParseHandling = Json.DateParseHandling.DateTimeOffset; Assert.True(reader.Read()); reader.ReadAsDateTime(); Assert.Equal(new DateTime(DateTimeUtils.InitialJavaScriptDateTicks, DateTimeKind.Utc), reader.Value); Assert.Equal(typeof(DateTime), reader.ValueType); reader.ReadAsDateTime(); Assert.Equal(new DateTime(DateTimeUtils.InitialJavaScriptDateTicks, DateTimeKind.Utc), reader.Value); Assert.Equal(typeof(DateTime), reader.ValueType); Assert.True(reader.Read()); #endif }