2005-01-11 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Tue, 11 Jan 2005 16:04:50 +0000 (16:04 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Tue, 11 Jan 2005 16:04:50 +0000 (16:04 -0000)
* XmlDataDocumentTest2.cs : Added re-Load()ing test.
  Added TypedDataDocument().

svn path=/trunk/mcs/; revision=38704

mcs/class/System.Data/Test/System.Xml/ChangeLog
mcs/class/System.Data/Test/System.Xml/XmlDataDocumentTest2.cs

index 3dd5f6ab615c80e5faf35a2f10e2ecb1c19f8feb..0aa3ac151676673ffcd33e952fa5baa1a3d39bf2 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-11  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlDataDocumentTest2.cs : Added re-Load()ing test.
+         Added TypedDataDocument().
+
 2004-06-18  Atsushi Enomoto <atsushi@ximian.com>
 
        * XmlDataDocumentTest2.cs : When line ending is LF, CR is preserved.
index d031dfb828859ad9403e7b6c355db6c45645823d..d1b7b9141c7a31f0f3cdcc3a6ebd89e30b2b73b1 100755 (executable)
@@ -31,6 +31,7 @@
 
 using System;
 using System.Data;
+using System.IO;
 using System.Xml;
 using NUnit.Framework;
 
@@ -93,6 +94,9 @@ namespace MonoTests.System.Xml
                {
                        XmlDataDocument doc = new XmlDataDocument ();
                        doc.LoadXml ("<NewDataSet><TestTable><TestRow><TestColumn>1</TestColumn></TestRow></TestTable></NewDataSet>");
+
+                       doc = new XmlDataDocument ();
+                       doc.LoadXml ("<test>value</test>");
                }
 
                [Test]
@@ -181,5 +185,45 @@ namespace MonoTests.System.Xml
                        row = doc.GetRowFromElement (el);\r
                        AssertEquals (DataRowState.Detached, row.RowState); // still detached here\r
                }\r
+
+               // bug #54505
+               public void TypedDataDocument ()
+               {
+                       string xml = @"<top xmlns=""urn:test"">
+  <foo>
+    <s>first</s>
+    <d>2004-02-14T10:37:03</d>
+  </foo>
+  <foo>
+    <s>second</s>
+    <d>2004-02-17T12:41:49</d>
+  </foo>
+</top>";
+                       string xmlschema = @"<xs:schema id=""webstore"" targetNamespace=""urn:test"" xmlns:xs=""http://www.w3.org/2001/XMLSchema"">
+  <xs:element name=""top"">
+    <xs:complexType>
+      <xs:sequence maxOccurs=""unbounded"">
+        <xs:element name=""foo"">
+          <xs:complexType>
+            <xs:sequence maxOccurs=""unbounded"">
+              <xs:element name=""s"" type=""xs:string""/>
+              <xs:element name=""d"" type=""xs:dateTime""/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>";
+                       XmlDataDocument doc = new XmlDataDocument ();
+                       doc.DataSet.ReadXmlSchema (new StringReader (xmlschema));
+                       doc.LoadXml (xml);
+                       DataTable foo = doc.DataSet.Tables ["foo"];
+                       DataRow newRow = foo.NewRow ();
+                       newRow ["s"] = "new";
+                       newRow ["d"] = DateTime.Now;
+                       foo.Rows.Add (newRow);
+                       doc.Save (new StringWriter ());
+               }
        }
 }