From d856b1c8587dcdc4a20edd03c8fcdc5ba496e915 Mon Sep 17 00:00:00 2001 From: yeroo Date: Fri, 21 Nov 2014 17:33:38 -0600 Subject: [PATCH 1/3] Bug: Unexpected token: Comment Can't deserialize json to XElement back if original XElement had a comment --- Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs index e607ae68..10f64037 100644 --- a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs +++ b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs @@ -1580,6 +1580,9 @@ namespace Newtonsoft.Json.Converters case JsonToken.EndObject: finishedElement = true; break; + case JsonToken.Comment: + finishedElement = true; + break; default: throw new JsonSerializationException("Unexpected JsonToken: " + reader.TokenType); } From a2c72c492ad097ea4be69353ab632aeeaa3a8887 Mon Sep 17 00:00:00 2001 From: yeroo Date: Fri, 21 Nov 2014 17:35:00 -0600 Subject: [PATCH 2/3] formatting --- Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs index 10f64037..402fb764 100644 --- a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs +++ b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs @@ -1581,7 +1581,7 @@ namespace Newtonsoft.Json.Converters finishedElement = true; break; case JsonToken.Comment: - finishedElement = true; + finishedElement = true; break; default: throw new JsonSerializationException("Unexpected JsonToken: " + reader.TokenType); From d68f370d16ec016e93346c13d1ecfef05723c4fb Mon Sep 17 00:00:00 2001 From: yeroo Date: Sat, 22 Nov 2014 12:14:48 -0600 Subject: [PATCH 3/3] Bug: unexpected token: Comment test case updated --- .../Converters/XmlNodeConverterTest.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs index 41372093..832fde45 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs @@ -1202,7 +1202,7 @@ namespace Newtonsoft.Json.Tests.Converters public void SerializeComment() { string xml = @" - Text + Text "; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); @@ -1214,8 +1214,8 @@ namespace Newtonsoft.Json.Tests.Converters ""@class"": ""vevent"", ""a"": { ""@class"": ""url"", - ""@href"": ""http://www.web2con.com/"", - ""#text"": ""Text"" + ""@href"": ""http://www.web2con.com/""/* Hi */, + ""span"": ""Text"" }/* Hi! */ } }"; @@ -1223,7 +1223,7 @@ namespace Newtonsoft.Json.Tests.Converters StringAssert.AreEqual(expected, jsonText); XmlDocument newDoc = (XmlDocument)DeserializeXmlNode(jsonText); - Assert.AreEqual(@"Text", newDoc.InnerXml); + Assert.AreEqual(@"Text", newDoc.InnerXml); } [Test]