Author: lluis
Date: 2005-03-29 06:42:18 -0500 (Tue, 29 Mar 2005)
New Revision: 42329

Modified:
   trunk/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog
   trunk/mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs
   
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
   
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs
Log:
2005-03-29  Lluis Sanchez Gual  <[EMAIL PROTECTED]>

        * XmlSerializerTests.cs:
        * DeserializeTests.cs: 
        * XmlSerializerTestClasses.cs: Added some tests for xml node 
serialization.



Modified: trunk/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog  
2005-03-29 11:41:57 UTC (rev 42328)
+++ trunk/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog  
2005-03-29 11:42:18 UTC (rev 42329)
@@ -1,3 +1,9 @@
+2005-03-29  Lluis Sanchez Gual  <[EMAIL PROTECTED]>
+
+       * XmlSerializerTests.cs:
+       * DeserializeTests.cs: 
+       * XmlSerializerTestClasses.cs: Added some tests for xml node 
serialization.
+
 2005-02-28  Atsushi Enomoto  <[EMAIL PROTECTED]>
 
        * XmlReflectionImporterTests.cs : set NotWorking for trivial empty

Modified: 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs
===================================================================
--- 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs    
    2005-03-29 11:41:57 UTC (rev 42328)
+++ 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/DeserializeTests.cs    
    2005-03-29 11:42:18 UTC (rev 42329)
@@ -136,5 +136,46 @@
                        DeserializeEncoded (typeof(Sample), s);
                }
                
+               
+               [Test]
+               public void TestDeserializeXmlNodeArray ()
+               {
+                       object ob = Deserialize (typeof(object), "<anyType 
at=\"1\"><elem1/><elem2/></anyType>");
+                       Assertion.Assert ("Is node array", ob is XmlNode[]);
+                       
+                       XmlNode[] nods = (XmlNode[]) ob; 
+                       Assertion.AssertEquals ("lengh", 3, nods.Length);
+                       Assertion.Assert ("#1", nods[0] is XmlAttribute);
+                       Assertion.AssertEquals ("#2", "at", 
((XmlAttribute)nods[0]).LocalName);
+                       Assertion.AssertEquals ("#3", "1", 
((XmlAttribute)nods[0]).Value);
+                       Assertion.Assert ("#4", nods[1] is XmlElement);
+                       Assertion.AssertEquals ("#5", "elem1", 
((XmlElement)nods[1]).LocalName);
+                       Assertion.Assert ("#6", nods[2] is XmlElement);
+                       Assertion.AssertEquals ("#7", "elem2", 
((XmlElement)nods[2]).LocalName);
+               }
+               
+               [Test]
+               public void TestDeserializeXmlElement ()
+               {
+                       object ob = Deserialize (typeof(XmlElement), "<elem/>");
+                       Assertion.Assert ("#1", ob is XmlElement);
+                       Assertion.AssertEquals ("#2", "elem", 
((XmlElement)ob).LocalName);
+               }
+               
+               [Test]
+               public void TestDeserializeXmlCDataSection ()
+               {
+                       CDataContainer c = (CDataContainer) Deserialize 
(typeof(CDataContainer), "<CDataContainer 
xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><cdata><![CDATA[data 
section contents]]></cdata></CDataContainer>");
+                       Assertion.AssertNotNull ("#1", c.cdata);
+                       Assertion.AssertEquals ("#2", "data section contents", 
c.cdata.Value);
+               }
+               
+               [Test]
+               public void TestDeserializeXmlNode ()
+               {
+                       NodeContainer c = (NodeContainer) Deserialize 
(typeof(NodeContainer), "<NodeContainer 
xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><node>text</node></NodeContainer>");
+                       Assertion.Assert ("#1", c.node is XmlText);
+                       Assertion.AssertEquals ("#2", "text", c.node.Value);
+               }
        }
 }

Modified: 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
===================================================================
--- 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
        2005-03-29 11:41:57 UTC (rev 42328)
+++ 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTestClasses.cs
        2005-03-29 11:42:18 UTC (rev 42329)
@@ -12,6 +12,7 @@
 using System;
 using System.Collections;
 using System.Xml.Serialization;
+using System.Xml;
 
 namespace MonoTests.System.Xml.TestClasses
 {
@@ -115,5 +116,36 @@
                public Container2 (bool b) {
                        Items = new MyList(this);
                }
-       }
+       }
+
+       public class MyElem: XmlElement
+       {
+               public MyElem (XmlDocument doc): base ("","myelem","", doc)
+               {
+                       SetAttribute ("aa","1");
+               }
+
+               [XmlAttribute]
+               public int kk=1;
+       }
+
+       public class MyDocument: XmlDocument
+       {
+               public MyDocument ()
+               {
+               }
+
+               [XmlAttribute]
+               public int kk=1;
+       }
+       
+       public class CDataContainer
+       {
+               public XmlCDataSection cdata;
+       }
+       
+       public class NodeContainer
+       {
+               public XmlNode node;
+       }
 }

Modified: 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs
===================================================================
--- 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs  
    2005-03-29 11:41:57 UTC (rev 42328)
+++ 
trunk/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSerializerTests.cs  
    2005-03-29 11:42:18 UTC (rev 42329)
@@ -651,8 +651,55 @@
                        
                        Serialize(XmlSchemaForm.Unqualified);
                        
AssertEquals(Infoset("<XmlSchemaForm>unqualified</XmlSchemaForm>"), WriterText);
+               }
+               
+               [Test]
+               public void TestSerializeXmlNodeArray ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       Serialize (new XmlNode [] { doc.CreateAttribute("at"), 
doc.CreateElement("elem1"), doc.CreateElement("elem2") }, typeof(object)); 
+                       AssertEquals(Infoset("<anyType 
at=\"\"><elem1/><elem2/></anyType>"), WriterText);
                }
+               
+               [Test]
+               public void TestSerializeXmlElement ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       Serialize (doc.CreateElement("elem"), 
typeof(XmlElement)); 
+                       AssertEquals(Infoset("<elem/>"), WriterText);
+               }
+               
+               [Test]
+               public void TestSerializeXmlElementSubclass ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       Serialize (new MyElem (doc), typeof(XmlElement)); 
+                       AssertEquals(Infoset("<myelem aa=\"1\"/>"), WriterText);
+                       
+                       Serialize (new MyElem (doc), typeof(MyElem)); 
+                       AssertEquals(Infoset("<myelem aa=\"1\"/>"), WriterText);
+               }
                
+               [Test]
+               public void TestSerializeXmlCDataSection ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       CDataContainer c = new CDataContainer ();
+                       c.cdata = doc.CreateCDataSection("data section 
contents");
+                       Serialize (c); 
+                       AssertEquals(Infoset("<CDataContainer 
xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><cdata><![CDATA[data 
section contents]]></cdata></CDataContainer>"), WriterText);
+               }
+               
+               [Test]
+               public void TestSerializeXmlNode ()
+               {
+                       XmlDocument doc = new XmlDocument ();
+                       NodeContainer c = new NodeContainer ();
+                       c.node = doc.CreateTextNode("text");
+                       Serialize (c); 
+                       AssertEquals(Infoset("<NodeContainer 
xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><node>text</node></NodeContainer>"),
 WriterText);
+               }
+               
                public static string Infoset (string sx)
                {
                        XmlDocument doc = new XmlDocument ();

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to