瀏覽代碼

2009-09-07 Atsushi Enomoto <[email protected]>

	* DataContractJsonSerializerTest.cs : fix non-datacontract
	  serialization test. It depended on IPAddress field internals
	  (runtime serialization incompatibility).


svn path=/trunk/mcs/; revision=141412
Atsushi Eno 16 年之前
父節點
當前提交
f7306fc799

+ 6 - 0
mcs/class/System.ServiceModel.Web/Test/System.Runtime.Serialization.Json/ChangeLog

@@ -1,3 +1,9 @@
+2009-09-07  Atsushi Enomoto  <[email protected]>
+
+	* DataContractJsonSerializerTest.cs : fix non-datacontract
+	  serialization test. It depended on IPAddress field internals
+	  (runtime serialization incompatibility).
+
 2009-03-13  Andreia Gaita  <[email protected]>
 
 	* JsonReaderTest.cs: test for skip and depth (if depth fails, skip is affected)

+ 9 - 5
mcs/class/System.ServiceModel.Web/Test/System.Runtime.Serialization.Json/DataContractJsonSerializerTest.cs

@@ -937,7 +937,7 @@ namespace MonoTests.System.Runtime.Serialization.Json
 			StringWriter sw = new StringWriter ();
 			using (XmlWriter xw = XmlWriter.Create (sw, settings)) {
 				SerializeNonDCArrayType obj = new SerializeNonDCArrayType ();
-				obj.IPAddresses = new IPAddress [] {new IPAddress (new byte [] {1, 2, 3, 4})};
+				obj.IPAddresses = new NonDCItem [] {new NonDCItem () { Data = new byte [] {1, 2, 3, 4} } };
 				ser.WriteObject (xw, obj);
 			}
 
@@ -949,10 +949,9 @@ namespace MonoTests.System.Runtime.Serialization.Json
 			nsmgr.AddNamespace ("a", "http://schemas.microsoft.com/2003/10/Serialization/Arrays");
 
 			Assert.AreEqual (1, doc.SelectNodes ("/root/IPAddresses/item", nsmgr).Count, "#1");
-			Assert.AreEqual ("67305985", doc.SelectSingleNode ("/root/IPAddresses/item/m_Address", nsmgr).InnerText, "#2");
-			XmlElement el = doc.SelectSingleNode ("/root/IPAddresses/item/m_Numbers", nsmgr) as XmlElement;
+			XmlElement el = doc.SelectSingleNode ("/root/IPAddresses/item/Data", nsmgr) as XmlElement;
 			Assert.IsNotNull (el, "#3");
-			Assert.AreEqual (8, el.SelectNodes ("item", nsmgr).Count, "#4");
+			Assert.AreEqual (4, el.SelectNodes ("item", nsmgr).Count, "#4");
 		}
 
 		[Test]
@@ -1364,7 +1363,12 @@ namespace MonoTests.System.Runtime.Serialization.Json
 	class SerializeNonDCArrayType
 	{
 		[DataMember]
-		public IPAddress [] IPAddresses = new IPAddress [0];
+		public NonDCItem [] IPAddresses = new NonDCItem [0];
+	}
+
+	public class NonDCItem
+	{
+		public byte [] Data { get; set; }
 	}
 
 	[DataContract]