2 // System.Xml.XmlCommentTests.cs
5 // Duncan Mak (duncan@ximian.com)
13 using NUnit.Framework;
15 namespace MonoTests.System.Xml
17 public class XmlCommentTests : TestCase
25 public XmlCommentTests () : base ("MonoTests.System.Xml.XmlCommentTests testsuite") {}
27 public XmlCommentTests (string name) : base (name) {}
29 protected override void SetUp ()
31 document = new XmlDocument ();
34 public void TestXmlCommentCloneNode ()
36 document.LoadXml ("<root><foo></foo></root>");
37 comment = document.CreateComment ("Comment");
40 shallow = comment.CloneNode (false); // shallow
41 TestXmlNodeBaseProperties (original, shallow);
43 deep = comment.CloneNode (true); // deep
44 TestXmlNodeBaseProperties (original, deep);
45 AssertEquals ("Value incorrectly cloned",
46 original.Value, deep.Value);
48 AssertEquals ("deep cloning differs from shallow cloning",
49 deep.OuterXml, shallow.OuterXml);
52 public void TestXmlCommentInnerAndOuterXml ()
54 comment = document.CreateComment ("foo");
55 AssertEquals (String.Empty, comment.InnerXml);
56 AssertEquals ("<!--foo-->", comment.OuterXml);
59 public void TestXmlCommentIsReadOnly ()
61 document.LoadXml ("<root><foo></foo></root>");
62 comment = document.CreateComment ("Comment");
63 AssertEquals ("XmlComment IsReadOnly property broken",
64 comment.IsReadOnly, false);
67 public void TestXmlCommentLocalName ()
69 document.LoadXml ("<root><foo></foo></root>");
70 comment = document.CreateComment ("Comment");
71 AssertEquals (comment.NodeType + " LocalName property broken",
72 comment.LocalName, "#comment");
75 public void TestXmlCommentName ()
77 document.LoadXml ("<root><foo></foo></root>");
78 comment = document.CreateComment ("Comment");
79 AssertEquals (comment.NodeType + " Name property broken",
80 comment.Name, "#comment");
83 public void TestXmlCommentNodeType ()
85 document.LoadXml ("<root><foo></foo></root>");
86 comment = document.CreateComment ("Comment");
87 AssertEquals ("XmlComment NodeType property broken",
88 comment.NodeType.ToString (), "Comment");
91 internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned)
93 document.LoadXml ("<root><foo></foo></root>");
94 comment = document.CreateComment ("Comment");
96 // assertequals (original.nodetype + " was incorrectly cloned.",
97 // original.baseuri, cloned.baseuri);
99 AssertNull (cloned.ParentNode);
100 AssertEquals ("Value incorrectly cloned",
101 original.Value, cloned.Value);
103 Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));