2 // System.Xml.XmlCDataSectionTests.cs
5 // Duncan Mak (duncan@ximian.com)
13 using NUnit.Framework;
15 namespace Ximian.Mono.Tests
17 public class XmlCDataSectionTests : TestCase
20 XmlCDataSection section;
25 public XmlCDataSectionTests ()
26 : base ("Ximian.Mono.Tests.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 TestXmlCDataSectionName ()
52 AssertEquals (section.NodeType + " Name property broken",
53 section.Name, "#cdata-section");
56 public void TestXmlCDataSectionLocalName ()
58 AssertEquals (section.NodeType + " LocalName property broken",
59 section.LocalName, "#cdata-section");
62 public void TestXmlCDataSectionNodeType ()
64 AssertEquals ("XmlCDataSection NodeType property broken",
65 section.NodeType.ToString (), "CDATA");
68 public void TestXmlCDataSectionIsReadOnly ()
70 AssertEquals ("XmlCDataSection IsReadOnly property broken",
71 section.IsReadOnly, false);
74 public void TestXmlCDataSectionCloneNode ()
78 shallow = section.CloneNode (false); // shallow
79 TestXmlNodeBaseProperties (original, shallow);
80 AssertEquals ("Value incorrectly cloned",
81 original.Value, shallow.Value);
83 deep = section.CloneNode (true); // deep
84 TestXmlNodeBaseProperties (original, deep);
85 AssertEquals ("Value incorrectly cloned",
86 original.Value, deep.Value);
88 AssertEquals ("deep cloning differs from shallow cloning",
89 deep.OuterXml, shallow.OuterXml);