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 : Assertion
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 // AssertEquals (original.nodetype + " was incorrectly cloned.",
39 // original.baseuri, cloned.baseuri);
40 AssertNull (cloned.ParentNode);
41 Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
45 public void XmlCDataSectionInnerAndOuterXml ()
47 section = document.CreateCDataSection ("foo");
48 AssertEquals (String.Empty, section.InnerXml);
49 AssertEquals ("<![CDATA[foo]]>", section.OuterXml);
53 public void XmlCDataSectionName ()
55 AssertEquals (section.NodeType + " Name property broken",
56 section.Name, "#cdata-section");
60 public void XmlCDataSectionLocalName ()
62 AssertEquals (section.NodeType + " LocalName property broken",
63 section.LocalName, "#cdata-section");
67 public void XmlCDataSectionNodeType ()
69 AssertEquals ("XmlCDataSection NodeType property broken",
70 section.NodeType.ToString (), "CDATA");
74 public void XmlCDataSectionIsReadOnly ()
76 AssertEquals ("XmlCDataSection IsReadOnly property broken",
77 section.IsReadOnly, false);
81 public void XmlCDataSectionCloneNode ()
85 shallow = section.CloneNode (false); // shallow
86 XmlNodeBaseProperties (original, shallow);
87 AssertEquals ("Value incorrectly cloned",
88 original.Value, shallow.Value);
90 deep = section.CloneNode (true); // deep
91 XmlNodeBaseProperties (original, deep);
92 AssertEquals ("Value incorrectly cloned",
93 original.Value, deep.Value);
95 AssertEquals ("deep cloning differs from shallow cloning",
96 deep.OuterXml, shallow.OuterXml);