2 // System.Xml.XmlCDataSectionTests.cs
5 // Duncan Mak (duncan@ximian.com)
13 using NUnit.Framework;
15 namespace MonoTests.System.Xml
17 public class XmlCDataSectionTests : TestCase
20 XmlCDataSection section;
25 public XmlCDataSectionTests ()
26 : base ("MonoTests.System.Xml.XmlCDataSectionTests testsuite")
30 public XmlCDataSectionTests (string name)
35 protected override void SetUp ()
37 document = new XmlDocument ();
38 document.LoadXml ("<root><foo></foo></root>");
39 section = document.CreateCDataSection ("CDataSection");
42 internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned)
44 // AssertEquals (original.nodetype + " was incorrectly cloned.",
45 // original.baseuri, cloned.baseuri);
46 AssertNull (cloned.ParentNode);
47 Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
50 public void TestXmlCDataSectionInnerAndOuterXml ()
52 section = document.CreateCDataSection ("foo");
53 AssertEquals (String.Empty, section.InnerXml);
54 AssertEquals ("<![CDATA[foo]]>", section.OuterXml);
57 public void TestXmlCDataSectionName ()
59 AssertEquals (section.NodeType + " Name property broken",
60 section.Name, "#cdata-section");
63 public void TestXmlCDataSectionLocalName ()
65 AssertEquals (section.NodeType + " LocalName property broken",
66 section.LocalName, "#cdata-section");
69 public void TestXmlCDataSectionNodeType ()
71 AssertEquals ("XmlCDataSection NodeType property broken",
72 section.NodeType.ToString (), "CDATA");
75 public void TestXmlCDataSectionIsReadOnly ()
77 AssertEquals ("XmlCDataSection IsReadOnly property broken",
78 section.IsReadOnly, false);
81 public void TestXmlCDataSectionCloneNode ()
85 shallow = section.CloneNode (false); // shallow
86 TestXmlNodeBaseProperties (original, shallow);
87 AssertEquals ("Value incorrectly cloned",
88 original.Value, shallow.Value);
90 deep = section.CloneNode (true); // deep
91 TestXmlNodeBaseProperties (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);