namespace MonoTests.System.Xml\r
{\r
[TestFixture]\r
- public class XmlNodeReaderTests : Assertion\r
+ public class XmlNodeReaderTests\r
{\r
[SetUp]\r
public void GetReady ()\r
XmlNodeReader nrdr;\r
try {\r
nrdr = new XmlNodeReader (null);\r
- Fail ("null reference exception is preferable.");\r
+ Assert.Fail ("null reference exception is preferable.");\r
} catch (NullReferenceException) {\r
}\r
nrdr = new XmlNodeReader (new XmlDocument ());\r
nrdr.Read ();\r
- AssertEquals ("newDoc.ReadState", ReadState.Error, nrdr.ReadState);\r
- AssertEquals ("newDoc.EOF", true, nrdr.EOF);\r
- AssertEquals ("newDoc.NodeType", XmlNodeType.None, nrdr.NodeType);\r
+ Assert.AreEqual (ReadState.Error, nrdr.ReadState, "newDoc.ReadState");\r
+ Assert.AreEqual (true, nrdr.EOF, "newDoc.EOF");\r
+ Assert.AreEqual (XmlNodeType.None, nrdr.NodeType, "newDoc.NodeType");\r
nrdr = new XmlNodeReader (document.CreateDocumentFragment ());\r
nrdr.Read ();\r
- AssertEquals ("Fragment.ReadState", ReadState.Error, nrdr.ReadState);\r
- AssertEquals ("Fragment.EOF", true, nrdr.EOF);\r
- AssertEquals ("Fragment.NodeType", XmlNodeType.None, nrdr.NodeType);\r
+ Assert.AreEqual (ReadState.Error, nrdr.ReadState, "Fragment.ReadState");\r
+ Assert.AreEqual (true, nrdr.EOF, "Fragment.EOF");\r
+ Assert.AreEqual (XmlNodeType.None, nrdr.NodeType, "Fragment.NodeType");\r
}\r
\r
[Test]\r
{\r
XmlNodeReader nrdr = new XmlNodeReader (document.DocumentElement);\r
nrdr.Read ();\r
- AssertEquals ("<root>.NodeType", XmlNodeType.Element, nrdr.NodeType);\r
- AssertEquals ("<root>.Name", "root", nrdr.Name);\r
- AssertEquals ("<root>.ReadState", ReadState.Interactive, nrdr.ReadState);\r
- AssertEquals ("<root>.Depth", 0, nrdr.Depth);\r
+ Assert.AreEqual (XmlNodeType.Element, nrdr.NodeType, "<root>.NodeType");\r
+ Assert.AreEqual ("root", nrdr.Name, "<root>.Name");\r
+ Assert.AreEqual (ReadState.Interactive, nrdr.ReadState, "<root>.ReadState");\r
+ Assert.AreEqual (0, nrdr.Depth, "<root>.Depth");\r
}\r
\r
\r
document.LoadXml ("<root>test of <b>mixed</b> string.</root>");\r
XmlNodeReader nrdr = new XmlNodeReader (document);\r
nrdr.ReadInnerXml ();\r
- AssertEquals ("initial.ReadState", ReadState.Initial, nrdr.ReadState);\r
- AssertEquals ("initial.EOF", false, nrdr.EOF);\r
- AssertEquals ("initial.NodeType", XmlNodeType.None, nrdr.NodeType);\r
+ Assert.AreEqual (ReadState.Initial, nrdr.ReadState, "initial.ReadState");\r
+ Assert.AreEqual (false, nrdr.EOF, "initial.EOF");\r
+ Assert.AreEqual (XmlNodeType.None, nrdr.NodeType, "initial.NodeType");\r
}\r
\r
[Test]\r
string dtd = "<!DOCTYPE root[<!ELEMENT root (#PCDATA|foo)*>" + ent1 + ent2;\r
string xml = dtd + "<root>&ent;&ent2;</root>";\r
document.LoadXml (xml);\r
- AssertEquals (xml, document.OuterXml);\r
+ Assert.AreEqual (xml, document.OuterXml);\r
XmlNodeReader nr = new XmlNodeReader (document);\r
nr.Read (); // DTD\r
nr.Read (); // root\r
nr.Read (); // &ent;\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
- AssertEquals ("depth#1", 1, nr.Depth);\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
+ Assert.AreEqual (1, nr.Depth, "depth#1");\r
nr.ResolveEntity ();\r
// It is still entity reference.\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
nr.Read ();\r
- AssertEquals (XmlNodeType.Text, nr.NodeType);\r
- AssertEquals ("depth#2", 2, nr.Depth);\r
- AssertEquals ("entity string", nr.Value);\r
+ Assert.AreEqual (XmlNodeType.Text, nr.NodeType);\r
+ Assert.AreEqual (2, nr.Depth, "depth#2");\r
+ Assert.AreEqual ("entity string", nr.Value);\r
nr.Read ();\r
- AssertEquals (XmlNodeType.EndEntity, nr.NodeType);\r
- AssertEquals ("depth#3", 1, nr.Depth);\r
- AssertEquals ("", nr.Value);\r
+ Assert.AreEqual (XmlNodeType.EndEntity, nr.NodeType);\r
+ Assert.AreEqual (1, nr.Depth, "depth#3");\r
+ Assert.AreEqual ("", nr.Value);\r
\r
nr.Read (); // &ent2;\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
- AssertEquals ("depth#4", 1, nr.Depth);\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
+ Assert.AreEqual (1, nr.Depth, "depth#4");\r
nr.ResolveEntity ();\r
- AssertEquals (xml, document.OuterXml);\r
+ Assert.AreEqual (xml, document.OuterXml);\r
// It is still entity reference.\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
// It now became element node.\r
nr.Read ();\r
- AssertEquals (XmlNodeType.Element, nr.NodeType);\r
- AssertEquals ("depth#5", 2, nr.Depth);\r
+ Assert.AreEqual (XmlNodeType.Element, nr.NodeType);\r
+ Assert.AreEqual (2, nr.Depth, "depth#5");\r
\r
- AssertEquals (xml, document.OuterXml);\r
+ Assert.AreEqual (xml, document.OuterXml);\r
}\r
\r
[Test]\r
document.AppendChild (document.ReadNode (xtr));\r
document.AppendChild (document.ReadNode (xtr));\r
xtr.Close ();\r
- AssertEquals (xml, document.OuterXml);\r
+ Assert.AreEqual (xml, document.OuterXml);\r
XmlNodeReader nr = new XmlNodeReader (document);\r
nr.Read (); // DTD\r
nr.Read (); // root\r
nr.Read (); // &ent3;\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
- // ent3 does not exists in this dtd.\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
+ // ent3 does not exist in this dtd.\r
nr.ResolveEntity ();\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
nr.Read ();\r
#if false\r
// Hmm... MS.NET returned as it is a Text node.\r
- AssertEquals (XmlNodeType.Text, nr.NodeType);\r
- AssertEquals (String.Empty, nr.Value);\r
+ Assert.AreEqual (XmlNodeType.Text, nr.NodeType);\r
+ Assert.AreEqual (String.Empty, nr.Value);\r
nr.Read ();\r
// Really!?\r
- AssertEquals (XmlNodeType.EndEntity, nr.NodeType);\r
- AssertEquals (String.Empty, nr.Value);\r
+ Assert.AreEqual (XmlNodeType.EndEntity, nr.NodeType);\r
+ Assert.AreEqual (String.Empty, nr.Value);\r
#endif\r
}\r
\r
xtr.Read ();\r
document.AppendChild (document.ReadNode (xtr));\r
xtr.Close ();\r
- AssertEquals (xml, document.OuterXml);\r
+ Assert.AreEqual (xml, document.OuterXml);\r
XmlNodeReader nr = new XmlNodeReader (document);\r
nr.Read (); // root\r
nr.Read (); // &ent;\r
- AssertEquals (XmlNodeType.EntityReference, nr.NodeType);\r
- // ent does not exists in this dtd.\r
+ Assert.AreEqual (XmlNodeType.EntityReference, nr.NodeType);\r
+ // ent does not exist in this dtd.\r
nr.ResolveEntity ();\r
}\r
\r
XmlNodeReader nr = new XmlNodeReader (\r
document.DocumentElement.FirstChild);\r
nr.Read ();\r
- AssertEquals ("#0", true, nr.IsEmptyElement);\r
- Assert ("#1", !nr.Read ());\r
+ Assert.AreEqual (true, nr.IsEmptyElement, "#0");\r
+ Assert.IsTrue (!nr.Read (), "#1");\r
\r
document.LoadXml ("<root><child></child></root>");\r
nr = new XmlNodeReader (\r
document.DocumentElement.FirstChild);\r
nr.Read ();\r
- Assert ("#2", nr.Read ());\r
- AssertEquals ("#2.2", false, nr.IsEmptyElement);\r
- Assert ("#3", !nr.Read ());\r
+ Assert.IsTrue (nr.Read (), "#2");\r
+ Assert.AreEqual (false, nr.IsEmptyElement, "#2.2");\r
+ Assert.IsTrue (!nr.Read (), "#3");\r
+ }\r
+ \r
+ [Test] // bug #550379\r
+ public void MoveToNextAttributeFromValue ()\r
+ {\r
+ document.LoadXml ("<ul test='xxx'></ul>");\r
+ XmlNodeReader nr = new XmlNodeReader (document);\r
+ nr.Read ();\r
+ nr.Read ();\r
+ Assert.IsTrue (nr.MoveToFirstAttribute (), "#1");\r
+ Assert.IsTrue (nr.ReadAttributeValue (), "#2");\r
+ Assert.IsFalse (nr.MoveToNextAttribute (), "#3");\r
}\r
}\r
\r