From: Daniel C. \(kzu\) <dca...@us...> - 2004-11-14 01:24:40
|
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] |