2 // System.Xml.XmlCDataSectionTests.cs
5 // Duncan Mak (duncan@ximian.com)
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
9 // (C) 2003 Martin Willemoes Hansen
15 using NUnit.Framework;
17 namespace MonoTests.System.Xml
20 public class XmlCDataSectionTests
23 XmlCDataSection section;
29 public void GetReady ()
31 document = new XmlDocument ();
32 document.LoadXml ("<root><foo></foo></root>");
33 section = document.CreateCDataSection ("CDataSection");
36 internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
38 // Assert.AreEqual (// original.baseuri, cloned.baseuri, original.nodetype + " was incorrectly cloned.");
39 Assert.IsNull (cloned.ParentNode);
40 Assert.IsTrue (!Object.ReferenceEquals (original, cloned), "Copies, not pointers");
44 public void XmlCDataSectionInnerAndOuterXml ()
46 section = document.CreateCDataSection ("foo");
47 Assert.AreEqual (String.Empty, section.InnerXml);
48 Assert.AreEqual ("<![CDATA[foo]]>", section.OuterXml);
52 public void XmlCDataSectionName ()
54 Assert.AreEqual (section.Name, "#cdata-section", section.NodeType + " Name property broken");
58 public void XmlCDataSectionLocalName ()
60 Assert.AreEqual (section.LocalName, "#cdata-section", section.NodeType + " LocalName property broken");
64 public void XmlCDataSectionNodeType ()
66 Assert.AreEqual (section.NodeType.ToString (), "CDATA", "XmlCDataSection NodeType property broken");
70 public void XmlCDataSectionIsReadOnly ()
72 Assert.AreEqual (section.IsReadOnly, false, "XmlCDataSection IsReadOnly property broken");
76 public void XmlCDataSectionCloneNode ()
80 shallow = section.CloneNode (false); // shallow
81 XmlNodeBaseProperties (original, shallow);
82 Assert.AreEqual (original.Value, shallow.Value, "Value incorrectly cloned");
84 deep = section.CloneNode (true); // deep
85 XmlNodeBaseProperties (original, deep);
86 Assert.AreEqual (original.Value, deep.Value, "Value incorrectly cloned");
88 Assert.AreEqual (deep.OuterXml, shallow.OuterXml, "deep cloning differs from shallow cloning");