XmlCDataSectionTests.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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 : Assertion
  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. // AssertEquals (original.nodetype + " was incorrectly cloned.",
  34. // original.baseuri, cloned.baseuri);
  35. AssertNull (cloned.ParentNode);
  36. Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
  37. }
  38. [Test]
  39. public void XmlCDataSectionInnerAndOuterXml ()
  40. {
  41. section = document.CreateCDataSection ("foo");
  42. AssertEquals (String.Empty, section.InnerXml);
  43. AssertEquals ("<![CDATA[foo]]>", section.OuterXml);
  44. }
  45. [Test]
  46. public void XmlCDataSectionName ()
  47. {
  48. AssertEquals (section.NodeType + " Name property broken",
  49. section.Name, "#cdata-section");
  50. }
  51. [Test]
  52. public void XmlCDataSectionLocalName ()
  53. {
  54. AssertEquals (section.NodeType + " LocalName property broken",
  55. section.LocalName, "#cdata-section");
  56. }
  57. [Test]
  58. public void XmlCDataSectionNodeType ()
  59. {
  60. AssertEquals ("XmlCDataSection NodeType property broken",
  61. section.NodeType.ToString (), "CDATA");
  62. }
  63. [Test]
  64. public void XmlCDataSectionIsReadOnly ()
  65. {
  66. AssertEquals ("XmlCDataSection IsReadOnly property broken",
  67. section.IsReadOnly, false);
  68. }
  69. [Test]
  70. public void XmlCDataSectionCloneNode ()
  71. {
  72. original = section;
  73. shallow = section.CloneNode (false); // shallow
  74. XmlNodeBaseProperties (original, shallow);
  75. AssertEquals ("Value incorrectly cloned",
  76. original.Value, shallow.Value);
  77. deep = section.CloneNode (true); // deep
  78. XmlNodeBaseProperties (original, deep);
  79. AssertEquals ("Value incorrectly cloned",
  80. original.Value, deep.Value);
  81. AssertEquals ("deep cloning differs from shallow cloning",
  82. deep.OuterXml, shallow.OuterXml);
  83. }
  84. }
  85. }