Add test for Bug #15572 from pull request #820
authorMiguel de Icaza <miguel@gnome.org>
Wed, 12 Feb 2014 21:06:32 +0000 (16:06 -0500)
committerMiguel de Icaza <miguel@gnome.org>
Wed, 12 Feb 2014 21:06:32 +0000 (16:06 -0500)
mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs

index 4071082da61c3ccb621b72200ab7c025e53ae3b1..91fe958e0bf2d343721a2408e2a4028437845121 100644 (file)
@@ -45,12 +45,20 @@ namespace MonoTests.System.Runtime.Serialization
 {
         [KnownType (typeof(MyObject[]))]
         [DataContract]
-        public class MyObject
+        public class MyObject2
         {
                 [DataMember]
                 public object NameList;
         }
 
+        [KnownType(typeof(string[]))]
+        [DataContract]
+        public class MyObject
+        {
+                [DataMember]
+                public object NameList;
+        }
+       
        [TestFixture]
        public class DataContractSerializerTestBugs {
 
@@ -68,5 +76,22 @@ namespace MonoTests.System.Runtime.Serialization
 
                         var ser = new DataContractSerializer (typeof(MyObject));
                }
+
+               [Test]
+               public void Bug ()
+               {
+                       var s = "<MyObject xmlns=\"http://schemas.datacontract.org/2004/07/MonoTests.System.Runtime.Serialization\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+                               "  <NameList i:type=\"a:ArrayOfstring\" xmlns:a=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\">\n" +
+                               "    <a:string>Name1</a:string>\n" +
+                               "    <a:string>Name2</a:string>\n" + 
+                               "  </NameList>\n" +
+                               "</MyObject>";
+
+                       //<MyObject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ServiceTest">
+
+                        var ser = new DataContractSerializer(typeof(MyObject));
+                       ser.ReadObject (XmlReader.Create(new StringReader(s)));
+               }
+               
        }
 }