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