Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs/class
diff options
context:
space:
mode:
authorVladimir Krasnov <krasnov@mono-cvs.ximian.com>2005-11-24 16:42:27 +0300
committerVladimir Krasnov <krasnov@mono-cvs.ximian.com>2005-11-24 16:42:27 +0300
commitcf50bd21d7f9940e6820aca0aa03e11c4e788676 (patch)
treefdf5b94bffffb150efa512ae82f29aaaa946597a /mcs/class
parent5976aa71a796368230d45c2e2f339990cf099773 (diff)
* XmlTypeMapping.cs: fixed GetXmlName method, added difference of value serialization of flags and non-flags enums
* XmlSerializerTestClasses.cs: added two enum types, without 0-value * XmlSerializerTests.cs: added tests for serialization enum's default value svn path=/trunk/mcs/; revision=53451
Diffstat (limited to 'mcs/class')
-rw-r--r--mcs/class/System.XML/System.Xml.Serialization/ChangeLog5
-rw-r--r--mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs2
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog7
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs4
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs12
5 files changed, 29 insertions, 1 deletions
diff --git a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog
index 596eab259cc..b3181313e36 100644
--- a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog
+++ b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-24 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * XmlTypeMapping.cs: fixed GetXmlName method, added difference
+ of value serialization of flags and non-flags enums
+
2005-11-23 Konstantin Triger <kostat@mainsoft.com>
* XmlSchemaExporter.cs: do not import empty namespaces.
diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs
index 6b374f070d8..c772e60ff86 100644
--- a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs
+++ b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs
@@ -667,7 +667,7 @@ namespace System.Xml.Serialization
// Enum default value will not be written
// unless it is one of the enum legal values
- if (enumName.Equals("0"))
+ if (enumName == "0" && IsFlags)
return String.Empty;
else
return Convert.ToInt64(enumValue).ToString(CultureInfo.InvariantCulture);
diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog b/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog
index 4ad1a3172e1..34485630352 100644
--- a/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog
+++ b/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog
@@ -1,3 +1,10 @@
+2005-11-24 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * XmlSerializerTestClasses.cs: added two enum types, without
+ 0-value
+ * XmlSerializerTests.cs: added tests for serialization enum's
+ default value
+
2005-09-26 Lluis Sanchez Gual <lluis@novell.com>
* XmlSerializerTests.cs, DeserializeTests.cs,
diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
index 10278e3b052..050d3af4867 100644
--- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
+++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
@@ -18,6 +18,10 @@ using System.Xml;
namespace MonoTests.System.Xml.TestClasses
{
public enum SimpleEnumeration { FIRST, SECOND };
+
+ [Flags]
+ public enum EnumDefaultValue { e1 = 1, e2 = 2, e3 = 3 }
+ public enum EnumDefaultValueNF { e1 = 1, e2 = 2, e3 = 3 }
public class SimpleClass
{
diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs
index 795ae328c68..f1938e0f4fb 100644
--- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs
+++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs
@@ -210,6 +210,18 @@ namespace MonoTests.System.XmlSerialization
}
[Test]
+ public void TestSerializeEnumDefaultValue() {
+ Serialize(new EnumDefaultValue());
+ AssertEquals(Infoset("<EnumDefaultValue />"), WriterText);
+
+ Serialize(new EnumDefaultValueNF());
+ AssertEquals(Infoset("<EnumDefaultValueNF>0</EnumDefaultValueNF>"), WriterText);
+
+ Serialize(new SimpleEnumeration());
+ AssertEquals(Infoset("<SimpleEnumeration>FIRST</SimpleEnumeration>"), WriterText);
+ }
+
+ [Test]
public void TestSerializeQualifiedName()
{
Serialize(new XmlQualifiedName("me", "home.urn"));