Update of /cvsroot/mvp-xml/Common/v1/test/XPathNavigatorReaderTests
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22700/v1/test/XPathNavigatorReaderTests
Modified Files:
Tests.cs
Log Message:
Bug fix in XmlNodeListFactory. Thanks to Raneses, Jason.
Bug fixes in XPathNavigatorReader (thanks Oleg!)
Index: Tests.cs
===================================================================
RCS file: /cvsroot/mvp-xml/Common/v1/test/XPathNavigatorReaderTests/Tests.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Tests.cs 27 Sep 2004 16:31:14 -0000 1.1
+++ Tests.cs 14 Nov 2004 01:24:30 -0000 1.2
@@ -18,6 +18,45 @@
public class Tests
{
[Test]
+ public void TestComment()
+ {
+ string xml = @"<?xml version='1.0'?>
+<!-- comment -->
+<foo />";
+
+ XmlReader tr = new XmlTextReader(new StringReader(xml));
+ XmlWriter tw = new XmlTextWriter(Console.Out);
+ //tw.WriteNode(tr, false);
+ //Console.WriteLine();
+
+ XPathDocument doc = new XPathDocument(new StringReader(xml));
+ XPathNavigator nav = doc.CreateNavigator();
+
+ XPathNavigatorReader reader = new XPathNavigatorReader(nav);
+ //tw.WriteNode(reader, false);
+ tw.Close();
+
+ reader = new XPathNavigatorReader(nav);
+ Assert.IsTrue(reader.Read());
+ Assert.AreEqual(XmlNodeType.Comment, reader.NodeType);
+ Assert.IsFalse(reader.Read());
+ }
+
+ [Test]
+ public void TestEmptyRoot()
+ {
+ string xml = "<root/>";
+ XPathDocument doc = new XPathDocument(new StringReader(xml));
+ XPathNavigator nav = doc.CreateNavigator();
+
+ XPathNavigatorReader reader = new XPathNavigatorReader(nav);
+ Assert.IsTrue(reader.Read());
+ Assert.AreEqual(XmlNodeType.Element, reader.NodeType);
+ Assert.IsTrue(reader.IsEmptyElement);
+ Assert.IsFalse(reader.Read());
+ }
+
+ [Test]
public void FragmentValidation()
{
#region <publishers> framgment validation
@@ -603,6 +642,24 @@
content);
}
+ [Test]
+ public void TestSiblingRead()
+ {
+ string xml = @"<foo><bar/><baz/></foo>";
+ XPathDocument doc = new XPathDocument(new StringReader(xml));
+ XPathNavigator nav = doc.CreateNavigator();
+ XPathNodeIterator ni = nav.Select("/foo/bar");
+ if (ni.MoveNext())
+ {
+ XPathNavigatorReader r = new XPathNavigatorReader(ni.Current);
+ r.MoveToContent();
+ Assert.AreEqual(r.LocalName, "bar");
+ Assert.IsTrue(r.Read());
+ Assert.IsFalse(r.Read());
+ r.Close();
+ }
+ }
+
#region Debug members
[Test]
|