Browse Source

* DeserializeTests.cs: Added test for empty enum deserialization (bug #55509).
* XmlAttributesTests.cs, XmlReflectionImporterTests.cs,
XmlSerializationWriterTests.cs, XmlSerializerTests.cs:
Simplified namespace hierarchy.
* XmlSerializerTestClasses.cs: Added more test classes.

svn path=/trunk/mcs/; revision=23956

Lluis Sanchez 22 years ago
parent
commit
06cd746bed

+ 8 - 0
mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog

@@ -1,3 +1,11 @@
+2004-03-12  Lluis Sanchez Gual  <[email protected]>
+
+	* DeserializeTests.cs: Added test for empty enum deserialization (bug #55509).
+	* XmlAttributesTests.cs, XmlReflectionImporterTests.cs, 
+	  XmlSerializationWriterTests.cs, XmlSerializerTests.cs:
+	  Simplified namespace hierarchy.
+	* XmlSerializerTestClasses.cs: Added more test classes.
+
 2003-12-18  Lluis Sanchez Gual <[email protected]>
 
 	* DeserializeTests.cs, XmlAttributesTests.cs: Changed namespace.

+ 12 - 4
mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs

@@ -12,8 +12,9 @@ using System.IO;
 using System.Xml;
 using System.Xml.Serialization;
 using NUnit.Framework;
+using MonoTests.System.Xml.TestClasses;
 
-namespace MonoTests.System.Xml.Serialization
+namespace MonoTests.System.XmlSerialization
 {
 	public class Sample
 	{
@@ -26,17 +27,18 @@ namespace MonoTests.System.Xml.Serialization
 	{
 		object result;
 
-		private void Deserialize (Type t, string xml)
+		private object Deserialize (Type t, string xml)
 		{
 			StringReader sr = new StringReader (xml);
 			XmlReader xr = new XmlTextReader (sr);
-			Deserialize (t, xr);
+			return Deserialize (t, xr);
 		}
 
-		private void Deserialize (Type t, XmlReader xr)
+		private object Deserialize (Type t, XmlReader xr)
 		{
 			XmlSerializer ser = new XmlSerializer (t);
 			result = ser.Deserialize (xr);
+			return result;
 		}
 
 		[Test]
@@ -66,5 +68,11 @@ namespace MonoTests.System.Xml.Serialization
 			Assertion.AssertEquals ("Test2", sample.ArrayText [1]);
 		}
 
+		[Test]
+		public void DeserializeEmptyEnum ()
+		{
+			Field f = Deserialize (typeof (Field), "<field modifiers=\"\" />") as Field;
+			Assertion.AssertEquals (MapModifiers.Public, f.Modifiers);
+		}
 	}
 }

+ 1 - 1
mcs/class/System.XML/Test/System.Xml.Serialization/XmlAttributesTests.cs

@@ -16,7 +16,7 @@ using System.Xml.Serialization;
 
 using NUnit.Framework;
 
-namespace MonoTests.System.Xml.Serialization
+namespace MonoTests.System.XmlSerialization
 {
 	[TestFixture]
 	public class XmlAttributesTests : Assertion

+ 1 - 1
mcs/class/System.XML/Test/System.Xml.Serialization/XmlReflectionImporterTests.cs

@@ -18,7 +18,7 @@ using NUnit.Framework;
 
 using MonoTests.System.Xml.TestClasses;
 
-namespace MonoTests.System.Xml.Serialization
+namespace MonoTests.System.XmlSerialization
 {
 	// debugging class
 	internal class Debug

+ 1 - 1
mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializationWriterTests.cs

@@ -17,7 +17,7 @@ using System.Xml.Serialization;
 
 using NUnit.Framework;
 
-namespace MonoTests.System.Xml.Serialization
+namespace MonoTests.System.XmlSerialization
 {
 	// base, common implementation of XmlSerializationWriter test harness.
 	// the reason for this is that all auto generated namespace prefixes 

+ 17 - 0
mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs

@@ -68,4 +68,21 @@ namespace MonoTests.System.Xml.TestClasses
 		[XmlAttribute("member")]
 		public string something = null;
 	}
+	
+	[XmlRoot("field")]
+	public class Field
+	{
+		[XmlAttribute("modifiers")]
+		public MapModifiers Modifiers;
+	}
+
+	[Flags]
+	public enum MapModifiers
+	{
+		[XmlEnum("public")]
+		Public = 0,
+		[XmlEnum("protected")]
+		Protected = 1,
+	}
+	
 }

+ 1 - 1
mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs

@@ -35,7 +35,7 @@ using NUnit.Framework;
 
 using MonoTests.System.Xml.TestClasses;
 
-namespace MonoTests.System.Xml.Serialization
+namespace MonoTests.System.XmlSerialization
 {
 	[TestFixture]
 	public class XmlSerializerTests : Assertion