diff options
author | Marcos Henrich <marcos.henrich@xamarin.com> | 2016-01-11 20:51:20 +0300 |
---|---|---|
committer | Marcos Henrich <marcos.henrich@xamarin.com> | 2016-01-11 21:03:43 +0300 |
commit | e58fe58ef1e6aca1aa565f7ed91eac45a949e6e7 (patch) | |
tree | bfd6a4ed7fd8f6bee482f0c616246460ae5e65eb /mcs/class/System.XML | |
parent | 4365a2a8a2f37d60d7cf8f31196c70f72de86aa4 (diff) |
[System.Xml] Test sub class serialization on lists
Covers #36829
Diffstat (limited to 'mcs/class/System.XML')
-rw-r--r-- | mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs | 7 | ||||
-rw-r--r-- | mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs | 11 |
2 files changed, 18 insertions, 0 deletions
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 597acd1df54..116bbe323ad 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs @@ -711,6 +711,13 @@ namespace MonoTests.System.Xml.TestClasses public object data; } + public class SubclassTestList + { + [XmlElement ("a", typeof (SimpleClass))] + [XmlElement ("b", typeof (SubclassTestBase))] + public List<object> Items; + } + public class DictionaryWithIndexer : DictionaryBase { public TimeSpan this[int index] 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 4e51eceae03..bdd08aa7c69 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs @@ -1939,6 +1939,17 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (Infoset (res), WriterText); } + [Test] // Covers #36829 + public void TestSubclassElementList () + { + var o = new SubclassTestList () { Items = new List<object> () { new SubclassTestSub () } }; + Serialize (o); + + string res = "<SubclassTestList xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>"; + res += "<b xsi:type=\"SubclassTestSub\"/></SubclassTestList>"; + Assert.AreEqual (Infoset (res), WriterText); + } + [Test] [ExpectedException (typeof (InvalidOperationException))] public void TestArrayAttributeWithWrongDataType () |