2008-09-17 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 17 Sep 2008 14:24:02 +0000 (14:24 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 17 Sep 2008 14:24:02 +0000 (14:24 -0000)
* SubtreeXmlReader.cs : make sure to set eof for empty element after
  Read().

* XmlReaderCommonTests.cs :
  added test for NodeType for empty element.

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

mcs/class/System.XML/Mono.Xml/ChangeLog
mcs/class/System.XML/Mono.Xml/SubtreeXmlReader.cs
mcs/class/System.XML/Test/System.Xml/ChangeLog
mcs/class/System.XML/Test/System.Xml/XmlReaderCommonTests.cs

index 277d86dd25d6d7ae268800eb340cbebd11e47895..75f75d746b7267c794e7aa236f6489e709a5dccf 100644 (file)
@@ -1,3 +1,8 @@
+2008-09-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * SubtreeXmlReader.cs : make sure to set eof for empty element after
+         Read().
+
 2008-09-17  Atsushi Enomoto <atsushi@ximian.com>
 
        * SubtreeXmlReader.cs : return appropriate property values for EOF.
index 1a85b81ff9b583c3a36c85206ca07153e17b7e50..0a6adc3a1834594062c753d01c39e72f368c985f 100644 (file)
@@ -221,7 +221,10 @@ namespace Mono.Xml
                        }
                        if (!read) {
                                read = true;
-                               return !Reader.IsEmptyElement && Reader.Read ();
+                               bool ret = !Reader.IsEmptyElement && Reader.Read ();
+                               if (!ret)
+                                       eof = true;
+                               return ret;
                        }
                        if (Reader.Depth > startDepth)
                                if (Reader.Read ())
index d07b8354946c2f1a7cc7a462d1174aaf97123e77..a5c475eb9dc04e0945c8599dec706f0e7b19e02b 100644 (file)
@@ -1,3 +1,8 @@
+2008-09-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlReaderCommonTests.cs :
+         added test for NodeType for empty element.
+
 2008-09-17  Atsushi Enomoto  <atsushi@ximian.com>
 
        * XmlReaderCommonTests.cs :
index f1356dcb20086ee50ceab8028288113d837f44d3..07f239905ddad001ef79a403f1c05208a2c25b7c 100644 (file)
@@ -2074,6 +2074,18 @@ namespace MonoTests.System.Xml
                        XmlReader r = XmlReader.Create (new StringReader (xml));\r
                        r.ReadSubtree ();\r
                }\r
+\r
+               public void ReadSubtreeEmptyElement ()\r
+               {\r
+                       string xml = @"<x/>";\r
+                       XmlReader r = XmlReader.Create (new StringReader (xml));\r
+                       r.Read ();\r
+                       XmlReader s = r.ReadSubtree ();\r
+                       Assert ("#1", s.Read ());\r
+                       AssertEquals ("#2", XmlNodeType.Element, s.NodeType);\r
+                       Assert ("#3", !s.Read ());\r
+                       AssertEquals ("#4", XmlNodeType.None, s.NodeType);\r
+               }\r
 #endif\r
        }\r
 }\r