diff --git a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs
index 59538f5c..15a29bf1 100644
--- a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs
+++ b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs
@@ -2672,7 +2672,7 @@ namespace Newtonsoft.Json.Tests.Converters
}
[Test]
- public void SerializeExplicitAttributeNamespace()
+ public void SerializeElementExplicitAttributeNamespace()
{
var original = XElement.Parse("");
Assert.AreEqual(@"", original.ToString());
@@ -2685,7 +2685,7 @@ namespace Newtonsoft.Json.Tests.Converters
}
[Test]
- public void SerializeImplicitAttributeNamespace()
+ public void SerializeElementImplicitAttributeNamespace()
{
var original = new XElement("{http://example.com}MyElement");
Assert.AreEqual(@"", original.ToString());
@@ -2696,6 +2696,32 @@ namespace Newtonsoft.Json.Tests.Converters
var deserialized = JsonConvert.DeserializeObject(json);
Assert.AreEqual(@"", deserialized.ToString());
}
+
+ [Test]
+ public void SerializeDocumentExplicitAttributeNamespace()
+ {
+ var original = XDocument.Parse("");
+ Assert.AreEqual(@"", original.ToString());
+
+ var json = JsonConvert.SerializeObject(original);
+ Assert.AreEqual(@"{""MyElement"":{""@xmlns"":""http://example.com""}}", json);
+
+ var deserialized = JsonConvert.DeserializeObject(json);
+ Assert.AreEqual(@"", deserialized.ToString());
+ }
+
+ [Test]
+ public void SerializeDocumentImplicitAttributeNamespace()
+ {
+ var original = new XDocument(new XElement("{http://example.com}MyElement"));
+ Assert.AreEqual(@"", original.ToString());
+
+ var json = JsonConvert.SerializeObject(original);
+ Assert.AreEqual(@"{""MyElement"":{""@xmlns"":""http://example.com""}}", json);
+
+ var deserialized = JsonConvert.DeserializeObject(json);
+ Assert.AreEqual(@"", deserialized.ToString());
+ }
#endif
}
}