2 // System.Xml.XmlCommentTests.cs
4 // Author: Duncan Mak (duncan@ximian.com)
5 // Author: Martin Willemoes Hansen (mwh@sysrq.dk)
8 // (C) 2003 Martin Willemoes Hansen
14 using NUnit.Framework;
16 namespace MonoTests.System.Xml
19 public class XmlCommentTests : Assertion
28 public void GetReady ()
30 document = new XmlDocument ();
34 public void XmlCommentCloneNode ()
36 document.LoadXml ("<root><foo></foo></root>");
37 comment = document.CreateComment ("Comment");
40 shallow = comment.CloneNode (false); // shallow
41 XmlNodeBaseProperties (original, shallow);
43 deep = comment.CloneNode (true); // deep
44 XmlNodeBaseProperties (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);
53 public void XmlCommentInnerAndOuterXml ()
55 comment = document.CreateComment ("foo");
56 AssertEquals (String.Empty, comment.InnerXml);
57 AssertEquals ("<!--foo-->", comment.OuterXml);
61 public void XmlCommentIsReadOnly ()
63 document.LoadXml ("<root><foo></foo></root>");
64 comment = document.CreateComment ("Comment");
65 AssertEquals ("XmlComment IsReadOnly property broken",
66 comment.IsReadOnly, false);
70 public void XmlCommentLocalName ()
72 document.LoadXml ("<root><foo></foo></root>");
73 comment = document.CreateComment ("Comment");
74 AssertEquals (comment.NodeType + " LocalName property broken",
75 comment.LocalName, "#comment");
79 public void XmlCommentName ()
81 document.LoadXml ("<root><foo></foo></root>");
82 comment = document.CreateComment ("Comment");
83 AssertEquals (comment.NodeType + " Name property broken",
84 comment.Name, "#comment");
88 public void XmlCommentNodeType ()
90 document.LoadXml ("<root><foo></foo></root>");
91 comment = document.CreateComment ("Comment");
92 AssertEquals ("XmlComment NodeType property broken",
93 comment.NodeType.ToString (), "Comment");
96 internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
98 document.LoadXml ("<root><foo></foo></root>");
99 comment = document.CreateComment ("Comment");
101 // assertequals (original.nodetype + " was incorrectly cloned.",
102 // original.baseuri, cloned.baseuri);
104 AssertNull (cloned.ParentNode);
105 AssertEquals ("Value incorrectly cloned",
106 original.Value, cloned.Value);
108 Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));