protected void Read_XmlDocument (XamlReader r) { for (int i = 0; i < 3; i++) { r.Read (); Assert.AreEqual (XamlNodeType.NamespaceDeclaration, r.NodeType, "#1-" + i); } r.Read (); Assert.AreEqual (new XamlType (typeof (XmlDocument), r.SchemaContext), r.Type, "#2"); r.Read (); var l = new List<XamlMember> (); while (r.NodeType == XamlNodeType.StartMember) { // It depends on XmlDocument's implenentation details. It fails on mono only because XmlDocument.SchemaInfo overrides both getter and setter. //for (int i = 0; i < 5; i++) { // Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "#3-" + i); l.Add (r.Member); r.Skip (); } Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Value"), "#4-1"); Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "InnerXml"), "#4-2"); Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Prefix"), "#4-3"); Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "PreserveWhitespace"), "#4-4"); Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Schemas"), "#4-5"); Assert.AreEqual (XamlNodeType.EndObject, r.NodeType, "#5"); Assert.IsFalse (r.Read (), "#6"); }
protected void Skip (XamlReader r) { r.Skip (); Assert.AreEqual (XamlNodeType.NamespaceDeclaration, r.NodeType, "#1"); r.Skip (); Assert.AreEqual (XamlNodeType.StartObject, r.NodeType, "#2"); r.Skip (); Assert.IsTrue (r.IsEof, "#3"); }
protected void Skip2 (XamlReader r) { r.Read (); // NamespaceDeclaration r.Read (); // Type if (r is XamlXmlReader) ReadBase (r); r.Read (); // Member (Initialization) Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "#1"); r.Skip (); Assert.AreEqual (XamlNodeType.EndObject, r.NodeType, "#2"); r.Skip (); Assert.IsTrue (r.IsEof, "#3"); }
public override void Skip() => _Reader.Skip();