XmlCDataSectionTests.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //
  2. // System.Xml.XmlCDataSectionTests.cs
  3. //
  4. // Authors:
  5. // Duncan Mak ([email protected])
  6. // Martin Willemoes Hansen ([email protected])
  7. //
  8. // (C) Ximian, Inc.
  9. // (C) 2003 Martin Willemoes Hansen
  10. //
  11. using System;
  12. using System.Xml;
  13. using NUnit.Framework;
  14. namespace MonoTests.System.Xml
  15. {
  16. [TestFixture]
  17. public class XmlCDataSectionTests
  18. {
  19. XmlDocument document;
  20. XmlCDataSection section;
  21. XmlNode original;
  22. XmlNode deep;
  23. XmlNode shallow;
  24. [SetUp]
  25. public void GetReady ()
  26. {
  27. document = new XmlDocument ();
  28. document.LoadXml ("<root><foo></foo></root>");
  29. section = document.CreateCDataSection ("CDataSection");
  30. }
  31. internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
  32. {
  33. // Assert.AreEqual (// original.baseuri, cloned.baseuri, original.nodetype + " was incorrectly cloned.");
  34. Assert.IsNull (cloned.ParentNode);
  35. Assert.IsTrue (!Object.ReferenceEquals (original, cloned), "Copies, not pointers");
  36. }
  37. [Test]
  38. public void XmlCDataSectionInnerAndOuterXml ()
  39. {
  40. section = document.CreateCDataSection ("foo");
  41. Assert.AreEqual (String.Empty, section.InnerXml);
  42. Assert.AreEqual ("<![CDATA[foo]]>", section.OuterXml);
  43. }
  44. [Test]
  45. public void XmlCDataSectionName ()
  46. {
  47. Assert.AreEqual (section.Name, "#cdata-section", section.NodeType + " Name property broken");
  48. }
  49. [Test]
  50. public void XmlCDataSectionLocalName ()
  51. {
  52. Assert.AreEqual (section.LocalName, "#cdata-section", section.NodeType + " LocalName property broken");
  53. }
  54. [Test]
  55. public void XmlCDataSectionNodeType ()
  56. {
  57. Assert.AreEqual (section.NodeType.ToString (), "CDATA", "XmlCDataSection NodeType property broken");
  58. }
  59. [Test]
  60. public void XmlCDataSectionIsReadOnly ()
  61. {
  62. Assert.AreEqual (section.IsReadOnly, false, "XmlCDataSection IsReadOnly property broken");
  63. }
  64. [Test]
  65. public void XmlCDataSectionCloneNode ()
  66. {
  67. original = section;
  68. shallow = section.CloneNode (false); // shallow
  69. XmlNodeBaseProperties (original, shallow);
  70. Assert.AreEqual (original.Value, shallow.Value, "Value incorrectly cloned");
  71. deep = section.CloneNode (true); // deep
  72. XmlNodeBaseProperties (original, deep);
  73. Assert.AreEqual (original.Value, deep.Value, "Value incorrectly cloned");
  74. Assert.AreEqual (deep.OuterXml, shallow.OuterXml, "deep cloning differs from shallow cloning");
  75. }
  76. }
  77. }