diff options
Diffstat (limited to 'mcs/class/System.XML/Test/XmlCDataSectionTests.cs')
-rwxr-xr-x | mcs/class/System.XML/Test/XmlCDataSectionTests.cs | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/mcs/class/System.XML/Test/XmlCDataSectionTests.cs b/mcs/class/System.XML/Test/XmlCDataSectionTests.cs new file mode 100755 index 00000000000..f1cc1ae2649 --- /dev/null +++ b/mcs/class/System.XML/Test/XmlCDataSectionTests.cs @@ -0,0 +1,92 @@ +// +// System.Xml.XmlCDataSectionTests.cs +// +// Author: +// Duncan Mak (duncan@ximian.com) +// +// (C) Ximian, Inc. +// + +using System; +using System.Xml; + +using NUnit.Framework; + +namespace Ximian.Mono.Tests +{ + public class XmlCDataSectionTests : TestCase + { + XmlDocument document; + XmlCDataSection section; + XmlNode original; + XmlNode deep; + XmlNode shallow; + + public XmlCDataSectionTests () + : base ("Ximian.Mono.Tests.XmlCDataSectionTests testsuite") + { + } + + public XmlCDataSectionTests (string name) + : base (name) + { + } + + protected override void SetUp () + { + document = new XmlDocument (); + document.LoadXml ("<root><foo></foo></root>"); + section = document.CreateCDataSection ("CDataSection"); + } + + internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned) + { + // AssertEquals (original.nodetype + " was incorrectly cloned.", + // original.baseuri, cloned.baseuri); + AssertNull (cloned.ParentNode); + Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned)); + } + + public void TestXmlCDataSectionName () + { + AssertEquals (section.NodeType + " Name property broken", + section.Name, "#cdata-section"); + } + + public void TestXmlCDataSectionLocalName () + { + AssertEquals (section.NodeType + " LocalName property broken", + section.LocalName, "#cdata-section"); + } + + public void TestXmlCDataSectionNodeType () + { + AssertEquals ("XmlCDataSection NodeType property broken", + section.NodeType.ToString (), "CDATA"); + } + + public void TestXmlCDataSectionIsReadOnly () + { + AssertEquals ("XmlCDataSection IsReadOnly property broken", + section.IsReadOnly, false); + } + + public void TestXmlCDataSectionCloneNode () + { + original = section; + + shallow = section.CloneNode (false); // shallow + TestXmlNodeBaseProperties (original, shallow); + AssertEquals ("Value incorrectly cloned", + original.Value, shallow.Value); + + deep = section.CloneNode (true); // deep + TestXmlNodeBaseProperties (original, deep); + AssertEquals ("Value incorrectly cloned", + original.Value, deep.Value); + + AssertEquals ("deep cloning differs from shallow cloning", + deep.OuterXml, shallow.OuterXml); + } + } +} |