X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FTest%2FSystem.Xml.Serialization%2FXmlCodeExporterTests.cs;h=bb8222543c4b8f1ea994ca0415601e626d862b57;hb=9197bd0e1c491b887f12bf11d7bf61d1df31d13c;hp=de125b795892b59a09afd09ca82854116e3aacc6;hpb=a3ea7ceb4d4f5e2cb8ea421313e8939640fb898c;p=mono.git diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlCodeExporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlCodeExporterTests.cs index de125b79589..bb8222543c4 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlCodeExporterTests.cs +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlCodeExporterTests.cs @@ -4,15 +4,19 @@ // Author: // Gert Driesen (drieseng@users.sourceforge.net) // +// (C) Gert Driesen (drieseng@users.sourceforge.net) // (C) 2006 Novell // +#if !MOBILE && !MONOMAC + using System; using System.CodeDom; using System.CodeDom.Compiler; using System.Collections; using System.Globalization; using System.IO; +using System.Reflection; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; @@ -42,8 +46,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format(CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -61,15 +64,9 @@ namespace MonoTests.System.XmlSerialization " this.namesField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=true)]{0}" + - "public class ArrayClass {{{0}" + - " {0}" + - " /// {0}" + - " public object names;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); + codeNamespace = ExportCode (typeof (ArrayClass[])); Assert.IsNotNull (codeNamespace, "#3"); @@ -79,8 +76,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -97,13 +93,7 @@ namespace MonoTests.System.XmlSerialization " this.namesField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "public class ArrayClass {{{0}" + - " {0}" + - " /// {0}" + - " public object names;{0}" + -#endif - "}}{0}", Environment.NewLine), sw.ToString (), "#4"); + "}}{0}", Environment.NewLine), sw.ToString (), "#4"); } [Test] @@ -120,8 +110,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -139,13 +128,6 @@ namespace MonoTests.System.XmlSerialization " this.itemsField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=true)]{0}" + - "public class ArrayContainer {{{0}" + - " {0}" + - " /// {0}" + - " public object[] items;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } @@ -163,8 +145,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -182,13 +163,6 @@ namespace MonoTests.System.XmlSerialization " this.cdataField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=true)]{0}" + - "public class CDataContainer {{{0}" + - " {0}" + - " /// {0}" + - " public System.Xml.XmlCDataSection cdata;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } @@ -208,8 +182,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -231,24 +204,10 @@ namespace MonoTests.System.XmlSerialization " this.myChoiceField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=true)]{0}" + - "public class Choices {{{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlElementAttribute(\"ChoiceZero\", typeof(string))]{0}" + - " [System.Xml.Serialization.XmlElementAttribute(\"ChoiceTwo\", typeof(string))]{0}" + - " [System.Xml.Serialization.XmlElementAttribute(\"ChoiceOne\", typeof(string))]{0}" + - " [System.Xml.Serialization.XmlChoiceIdentifierAttribute(\"ItemType\")]{0}" + - " public string MyChoice;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } [Test] -#if NET_2_0 - [Category ("NotDotNet")] // regression in MS.NET 2.0 -#endif [Category ("NotWorking")] // TODO: order of DefaultValueAttribute, ... public void ExportTypeMapping_Field () { @@ -263,19 +222,18 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + "[System.Xml.Serialization.XmlRootAttribute(\"field\", Namespace=\"\", IsNullable=true)]{0}" + "public partial class Field {{{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.FlagEnum flags1Field = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum flags1Field;{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.FlagEnum flags2Field = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum flags2Field;{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.FlagEnum flags3Field = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e2);{0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum flags3Field;{0}" + " {0}" + " private MonoTests.System.Xml.TestClasses.FlagEnum flags4Field;{0}" + " {0}" + @@ -283,19 +241,27 @@ namespace MonoTests.System.XmlSerialization " {0}" + " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers2Field;{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers3Field = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + + " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers3Field;{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers4Field = MonoTests.System.Xml.TestClasses.MapModifiers.Protected;{0}" + + " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers4Field;{0}" + " {0}" + - " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers5Field = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + + " private MonoTests.System.Xml.TestClasses.MapModifiers modifiers5Field;{0}" + " {0}" + " private string[] namesField;{0}" + " {0}" + " private string streetField;{0}" + " {0}" + + " public Field() {{{0}" + + " this.flags1Field = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " this.flags2Field = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " this.flags3Field = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e2);{0}" + + " this.modifiers3Field = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + + " this.modifiers4Field = MonoTests.System.Xml.TestClasses.MapModifiers.Protected;{0}" + + " this.modifiers5Field = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + + " }}{0}" + + " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"flag1\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.FlagEnum.e1)]{0}" + " public MonoTests.System.Xml.TestClasses.FlagEnum Flags1 {{{0}" + " get {{{0}" + " return this.flags1Field;{0}" + @@ -307,7 +273,6 @@ namespace MonoTests.System.XmlSerialization " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"flag2\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.FlagEnum.e1)]{0}" + " public MonoTests.System.Xml.TestClasses.FlagEnum Flags2 {{{0}" + " get {{{0}" + " return this.flags2Field;{0}" + @@ -319,7 +284,6 @@ namespace MonoTests.System.XmlSerialization " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"flag3\", Form=System.Xml.Schema.XmlSchemaForm.Qualified)]{0}" + - " [System.ComponentModel.DefaultValueAttribute((MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e2))]{0}" + " public MonoTests.System.Xml.TestClasses.FlagEnum Flags3 {{{0}" + " get {{{0}" + " return this.flags3Field;{0}" + @@ -364,7 +328,6 @@ namespace MonoTests.System.XmlSerialization " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers3\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Public)]{0}" + " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers3 {{{0}" + " get {{{0}" + " return this.modifiers3Field;{0}" + @@ -376,7 +339,6 @@ namespace MonoTests.System.XmlSerialization " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers4\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Protected)]{0}" + " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers4 {{{0}" + " get {{{0}" + " return this.modifiers4Field;{0}" + @@ -388,7 +350,6 @@ namespace MonoTests.System.XmlSerialization " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers5\", Form=System.Xml.Schema.XmlSchemaForm.Qualified)]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Public)]{0}" + " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers5 {{{0}" + " get {{{0}" + " return this.modifiers5Field;{0}" + @@ -419,68 +380,12 @@ namespace MonoTests.System.XmlSerialization " this.streetField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(\"field\", Namespace=\"\", IsNullable=true)]{0}" + - "public class Field {{{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"flag1\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.FlagEnum.e1)]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Flags1 = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"flag2\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.FlagEnum.e1)]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Flags2 = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"flag3\", Form=System.Xml.Schema.XmlSchemaForm.Qualified)]{0}" + - " [System.ComponentModel.DefaultValueAttribute((MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e2))]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Flags3 = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e2);{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"flag4\")]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Flags4;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers\")]{0}" + - " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers2\")]{0}" + - " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers2;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers3\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Public)]{0}" + - " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers3 = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers4\")]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Protected)]{0}" + - " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers4 = MonoTests.System.Xml.TestClasses.MapModifiers.Protected;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"modifiers5\", Form=System.Xml.Schema.XmlSchemaForm.Qualified)]{0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.MapModifiers.Public)]{0}" + - " public MonoTests.System.Xml.TestClasses.MapModifiers Modifiers5 = MonoTests.System.Xml.TestClasses.MapModifiers.Public;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"names\")]{0}" + - " public string[] Names;{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"street\")]{0}" + - " public string Street;{0}" + -#endif "}}{0}" + "{0}" + "/// {0}" + "[System.FlagsAttribute()]{0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"{1}\")]{0}" + "[System.SerializableAttribute()]{0}" + -#endif "public enum FlagEnum {{{0}" + " {0}" + " /// {0}" + @@ -498,10 +403,8 @@ namespace MonoTests.System.XmlSerialization "{0}" + "/// {0}" + "[System.FlagsAttribute()]{0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + -#endif "public enum MapModifiers {{{0}" + " {0}" + " /// {0}" + @@ -528,10 +431,8 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + -#endif "[System.Xml.Serialization.XmlTypeAttribute(IncludeInSchema=false)]{0}" + "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=false)]{0}" + "public enum ItemChoiceType {{{0}" + @@ -556,10 +457,8 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + -#endif "[System.Xml.Serialization.XmlTypeAttribute(IncludeInSchema=false)]{0}" + "public enum ItemChoiceType {{{0}" + " {0}" + @@ -589,8 +488,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -611,7 +509,7 @@ namespace MonoTests.System.XmlSerialization "}}{0}" + "{0}" + "/// {0}" + - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -628,27 +526,10 @@ namespace MonoTests.System.XmlSerialization " this.somethingField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=true)]{0}" + - "public class ClassArrayContainer {{{0}" + - " {0}" + - " /// {0}" + - " public MonoTests.System.Xml.TestClasses.SimpleClass[] items;{0}" + - "}}{0}" + - "{0}" + - "/// {0}" + - "public class SimpleClass {{{0}" + - " {0}" + - " /// {0}" + - " public string something;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } [Test] -#if NET_2_0 - [Category ("NotDotNet")] // regression in MS.NET 2.0 -#endif [Category ("NotWorking")] // bug #78214 public void ExportTypeMapping_Root () { @@ -663,49 +544,132 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:aNS\")]{0}" + "[System.Xml.Serialization.XmlRootAttribute(\"root\", Namespace=\"urn:aNS\", IsNullable=false)]{0}" + - "public class Root {{{0}" + + "public partial class Root {{{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.OptionalValueTypeContainer optionalValueField;{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.TestDefault defaultField;{0}" + " {0}" + " /// {0}" + - " public MonoTests.System.Xml.TestClasses.OptionalValueTypeContainer OptionalValue;{0}" + + " public MonoTests.System.Xml.TestClasses.OptionalValueTypeContainer OptionalValue {{{0}" + + " get {{{0}" + + " return this.optionalValueField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.optionalValueField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " public MonoTests.System.Xml.TestClasses.TestDefault Default;{0}" + + " public MonoTests.System.Xml.TestClasses.TestDefault Default {{{0}" + + " get {{{0}" + + " return this.defaultField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.defaultField = value;{0}" + + " }}{0}" + + " }}{0}" + "}}{0}" + "{0}" + "/// {0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + "[System.Xml.Serialization.XmlTypeAttribute(TypeName=\"optionalValueType\", Namespace=\"some:urn\")]{0}" + - "public class OptionalValueTypeContainer {{{0}" + + "public partial class OptionalValueTypeContainer {{{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum attributesField;{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum flagsField;{0}" + + " {0}" + + " private bool flagsFieldSpecified;{0}" + + " {0}" + + " private bool isEmptyField;{0}" + + " {0}" + + " private bool isEmptyFieldSpecified;{0}" + + " {0}" + + " private bool isNullField;{0}" + + " {0}" + + " public OptionalValueTypeContainer() {{{0}" + + " this.attributesField = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4);{0}" + + " this.flagsField = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute((MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4))]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Attributes = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4);{0}" + + " public MonoTests.System.Xml.TestClasses.FlagEnum Attributes {{{0}" + + " get {{{0}" + + " return this.attributesField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.attributesField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(MonoTests.System.Xml.TestClasses.FlagEnum.e1)]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum Flags = MonoTests.System.Xml.TestClasses.FlagEnum.e1;{0}" + + " public MonoTests.System.Xml.TestClasses.FlagEnum Flags {{{0}" + + " get {{{0}" + + " return this.flagsField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.flagsField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlIgnoreAttribute()]{0}" + - " public bool FlagsSpecified;{0}" + + " public bool FlagsSpecified {{{0}" + + " get {{{0}" + + " return this.flagsFieldSpecified;{0}" + + " }}{0}" + + " set {{{0}" + + " this.flagsFieldSpecified = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(false)]{0}" + - " public bool IsEmpty = false;{0}" + + " public bool IsEmpty {{{0}" + + " get {{{0}" + + " return this.isEmptyField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.isEmptyField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + " [System.Xml.Serialization.XmlIgnoreAttribute()]{0}" + - " public bool IsEmptySpecified;{0}" + + " public bool IsEmptySpecified {{{0}" + + " get {{{0}" + + " return this.isEmptyFieldSpecified;{0}" + + " }}{0}" + + " set {{{0}" + + " this.isEmptyFieldSpecified = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(false)]{0}" + - " public bool IsNull = false;{0}" + + " public bool IsNull {{{0}" + + " get {{{0}" + + " return this.isNullField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.isNullField = value;{0}" + + " }}{0}" + + " }}{0}" + "}}{0}" + "{0}" + "/// {0}" + - "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"some:urn\")]{0}" + "[System.FlagsAttribute()]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"some:urn\")]{0}" + "public enum FlagEnum {{{0}" + " {0}" + " /// {0}" + @@ -722,40 +686,109 @@ namespace MonoTests.System.XmlSerialization "}}{0}" + "{0}" + "/// {0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"{1}\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:myNS\")]{0}" + - "public class TestDefault {{{0}" + + "public partial class TestDefault {{{0}" + + " {0}" + + " private string strField;{0}" + + " {0}" + + " private string strDefaultField;{0}" + + " {0}" + + " private bool boolTField;{0}" + + " {0}" + + " private bool boolFField;{0}" + + " {0}" + + " private decimal decimalvalField;{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum flagField;{0}" + + " {0}" + + " private MonoTests.System.Xml.TestClasses.FlagEnum_Encoded flagencodedField;{0}" + + " {0}" + + " public TestDefault() {{{0}" + + " this.strDefaultField = \"Default Value\";{0}" + + " this.flagField = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4);{0}" + + " this.flagencodedField = (MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e1 | MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e4);{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " public string str;{0}" + + " public string str {{{0}" + + " get {{{0}" + + " return this.strField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.strField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(\"Default Value\")]{0}" + - " public string strDefault = \"Default Value\";{0}" + + " public string strDefault {{{0}" + + " get {{{0}" + + " return this.strDefaultField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.strDefaultField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(true)]{0}" + - " public bool boolT = true;{0}" + + " public bool boolT {{{0}" + + " get {{{0}" + + " return this.boolTField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.boolTField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(false)]{0}" + - " public bool boolF = false;{0}" + + " public bool boolF {{{0}" + + " get {{{0}" + + " return this.boolFField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.boolFField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute(typeof(System.Decimal), \"10\")]{0}" + - " public System.Decimal decimalval = ((System.Decimal)(10m));{0}" + + " public decimal decimalval {{{0}" + + " get {{{0}" + + " return this.decimalvalField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.decimalvalField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute((MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4))]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum flag = (MonoTests.System.Xml.TestClasses.FlagEnum.e1 | MonoTests.System.Xml.TestClasses.FlagEnum.e4);{0}" + + " public MonoTests.System.Xml.TestClasses.FlagEnum flag {{{0}" + + " get {{{0}" + + " return this.flagField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.flagField = value;{0}" + + " }}{0}" + + " }}{0}" + " {0}" + " /// {0}" + - " [System.ComponentModel.DefaultValueAttribute((MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e1 | MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e4))]{0}" + - " public MonoTests.System.Xml.TestClasses.FlagEnum_Encoded flagencoded = (MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e1 | MonoTests.System.Xml.TestClasses.FlagEnum_Encoded.e4);{0}" + + " public MonoTests.System.Xml.TestClasses.FlagEnum_Encoded flagencoded {{{0}" + + " get {{{0}" + + " return this.flagencodedField;{0}" + + " }}{0}" + + " set {{{0}" + + " this.flagencodedField = value;{0}" + + " }}{0}" + + " }}{0}" + "}}{0}" + "{0}" + "/// {0}" + - "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:myNS\")]{0}" + "[System.FlagsAttribute()]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:myNS\")]{0}" + "public enum FlagEnum {{{0}" + " {0}" + " /// {0}" + @@ -772,8 +805,10 @@ namespace MonoTests.System.XmlSerialization "}}{0}" + "{0}" + "/// {0}" + - "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:myNS\")]{0}" + "[System.FlagsAttribute()]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + + "[System.SerializableAttribute()]{0}" + + "[System.Xml.Serialization.XmlTypeAttribute(Namespace=\"urn:myNS\")]{0}" + "public enum FlagEnum_Encoded {{{0}" + " {0}" + " /// {0}" + @@ -801,8 +836,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "{0}{0}" + "/// {0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + "[System.Diagnostics.DebuggerStepThroughAttribute()]{0}" + "[System.ComponentModel.DesignerCategoryAttribute(\"code\")]{0}" + @@ -821,14 +855,6 @@ namespace MonoTests.System.XmlSerialization " this.somethingField = value;{0}" + " }}{0}" + " }}{0}" + -#else - "[System.Xml.Serialization.XmlRootAttribute(\"simple\", Namespace=\"\", IsNullable=true)]{0}" + - "public class SimpleClassWithXmlAttributes {{{0}" + - " {0}" + - " /// {0}" + - " [System.Xml.Serialization.XmlAttributeAttribute(\"member\")]{0}" + - " public string something;{0}" + -#endif "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } @@ -883,10 +909,8 @@ namespace MonoTests.System.XmlSerialization "{0}{0}" + "/// {0}" + "[System.FlagsAttribute()]{0}" + -#if NET_2_0 - "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Xml\", \"2.0.50727.42\")]{0}" + + "[System.CodeDom.Compiler.GeneratedCodeAttribute(\"nunit-lite-console\", \"0.0.0.0\")]{0}" + "[System.SerializableAttribute()]{0}" + -#endif "[System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=false)]{0}" + "public enum ZeroFlagEnum {{{0}" + " {0}" + @@ -904,6 +928,73 @@ namespace MonoTests.System.XmlSerialization "}}{0}", Environment.NewLine), sw.ToString (), "#2"); } + [Test] + public void DuplicateIdentifiers () + { + XmlSchema xs = XmlSchema.Read (File.OpenText ("Test/XmlFiles/xsd/82078.xsd"), null); + + XmlSchemas xss = new XmlSchemas (); + xss.Add (xs); + XmlSchemaImporter imp = new XmlSchemaImporter (xss); + CodeNamespace cns = new CodeNamespace (); + XmlCodeExporter exp = new XmlCodeExporter (cns); + XmlQualifiedName qname = new XmlQualifiedName ( + "Operation", "http://tempuri.org/"); + exp.ExportTypeMapping (imp.ImportTypeMapping (qname)); + CodeCompileUnit ccu = new CodeCompileUnit (); + ccu.Namespaces.Add (cns); + + CodeDomProvider provider = new CSharpCodeProvider (); + ICodeCompiler compiler = provider.CreateCompiler (); + + CompilerParameters options = new CompilerParameters (); + options.ReferencedAssemblies.Add ("System.dll"); + options.ReferencedAssemblies.Add ("System.Xml.dll"); + options.GenerateInMemory = true; + + CompilerResults result = compiler.CompileAssemblyFromDom (options, ccu); + Assert.AreEqual (0, result.Errors.Count, "#1"); + Assert.IsNotNull (result.CompiledAssembly, "#2"); + } + + [Test] + public void ExportSimpleContentExtensionEnum () + { + string xsd = @" + + + + + + + + + + + + + + + + + + +"; + XmlSchema xs = XmlSchema.Read (new StringReader (xsd), null); + XmlSchemas xss = new XmlSchemas (); + xss.Add (xs); + XmlSchemaImporter imp = new XmlSchemaImporter (xss); + XmlTypeMapping m = imp.ImportTypeMapping (new XmlQualifiedName ("Foo", "urn:bar")); + CodeNamespace cns = new CodeNamespace (); + XmlCodeExporter exp = new XmlCodeExporter (cns); + exp.ExportTypeMapping (m); + CodeTypeDeclaration enumType = null; + foreach (CodeTypeDeclaration ctd in cns.Types) + if (ctd.Name == "WeekDay") + enumType = ctd; + Assert.IsNotNull (enumType); + } + CodeNamespace ExportCode (Type type) { XmlReflectionImporter imp = new XmlReflectionImporter (); @@ -922,3 +1013,5 @@ namespace MonoTests.System.XmlSerialization } } } + +#endif