Add some unit tests for bug 9193
authorLluis Sanchez <lluis@xamarin.com>
Wed, 9 Jan 2013 11:21:34 +0000 (12:21 +0100)
committerLluis Sanchez <lluis@xamarin.com>
Wed, 9 Jan 2013 12:43:56 +0000 (13:43 +0100)
mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs
mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs

index 362d61fbcf7f260015744fae20312ef274242da6..daadbdf3fa2e3c9ee102ed4268213a4ac398c859 100644 (file)
@@ -1664,5 +1664,20 @@ namespace MonoTests.System.XmlSerialization
                        Assert.AreEqual ("BaseValue", res6.Base);
                        Assert.AreEqual ("MidValue", res6.Mid); 
                }
+               
+               [Test] // bug #9193
+               public void TestOrderedMapWithFlatList ()
+               {
+                       var d = (Bug9193Class) Deserialize (typeof(Bug9193Class), "<Test><Data>One</Data><Data>Two</Data><Data>Three</Data><Extra>a</Extra><Extra>b</Extra></Test>");
+                       Assert.IsNotNull (d);
+                       Assert.AreEqual (3, d.Data.Length);
+                       Assert.AreEqual ("One", d.Data[0]);
+                       Assert.AreEqual ("Two", d.Data[1]);
+                       Assert.AreEqual ("Three", d.Data[2]);
+
+                       Assert.AreEqual (2, d.Extra.Length);
+                       Assert.AreEqual ("a", d.Extra[0]);
+                       Assert.AreEqual ("b", d.Extra[1]);
+               }
        }
 }
index 006202d5860953f26af003dddd1a8c2a6859dc9b..1526259184397866914603c0375da2706bb9bea4 100644 (file)
@@ -1094,5 +1094,14 @@ namespace MonoTests.System.Xml.TestClasses
        public class Bug8468SubclassNoNamespaceV2: Bug8468MidClassV2
        {
        }
+       
+       [XmlRoot("Test")]
+       public class Bug9193Class
+       {
+               [XmlElement ("Data", Order=0)]
+               public string[] Data;
+               [XmlElement ("Extra", Order=1)]
+               public string[] Extra;
+       }
 }