XmlCDataSectionTests.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // System.Xml.XmlCDataSectionTests.cs
  3. //
  4. // Author:
  5. // Duncan Mak ([email protected])
  6. //
  7. // (C) Ximian, Inc.
  8. //
  9. using System;
  10. using System.Xml;
  11. using NUnit.Framework;
  12. namespace MonoTests.System.Xml
  13. {
  14. public class XmlCDataSectionTests : TestCase
  15. {
  16. XmlDocument document;
  17. XmlCDataSection section;
  18. XmlNode original;
  19. XmlNode deep;
  20. XmlNode shallow;
  21. public XmlCDataSectionTests ()
  22. : base ("MonoTests.System.Xml.XmlCDataSectionTests testsuite")
  23. {
  24. }
  25. public XmlCDataSectionTests (string name)
  26. : base (name)
  27. {
  28. }
  29. protected override void SetUp ()
  30. {
  31. document = new XmlDocument ();
  32. document.LoadXml ("<root><foo></foo></root>");
  33. section = document.CreateCDataSection ("CDataSection");
  34. }
  35. internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned)
  36. {
  37. // AssertEquals (original.nodetype + " was incorrectly cloned.",
  38. // original.baseuri, cloned.baseuri);
  39. AssertNull (cloned.ParentNode);
  40. Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
  41. }
  42. public void TestXmlCDataSectionInnerAndOuterXml ()
  43. {
  44. section = document.CreateCDataSection ("foo");
  45. AssertEquals (String.Empty, section.InnerXml);
  46. AssertEquals ("<![CDATA[foo]]>", section.OuterXml);
  47. }
  48. public void TestXmlCDataSectionName ()
  49. {
  50. AssertEquals (section.NodeType + " Name property broken",
  51. section.Name, "#cdata-section");
  52. }
  53. public void TestXmlCDataSectionLocalName ()
  54. {
  55. AssertEquals (section.NodeType + " LocalName property broken",
  56. section.LocalName, "#cdata-section");
  57. }
  58. public void TestXmlCDataSectionNodeType ()
  59. {
  60. AssertEquals ("XmlCDataSection NodeType property broken",
  61. section.NodeType.ToString (), "CDATA");
  62. }
  63. public void TestXmlCDataSectionIsReadOnly ()
  64. {
  65. AssertEquals ("XmlCDataSection IsReadOnly property broken",
  66. section.IsReadOnly, false);
  67. }
  68. public void TestXmlCDataSectionCloneNode ()
  69. {
  70. original = section;
  71. shallow = section.CloneNode (false); // shallow
  72. TestXmlNodeBaseProperties (original, shallow);
  73. AssertEquals ("Value incorrectly cloned",
  74. original.Value, shallow.Value);
  75. deep = section.CloneNode (true); // deep
  76. TestXmlNodeBaseProperties (original, deep);
  77. AssertEquals ("Value incorrectly cloned",
  78. original.Value, deep.Value);
  79. AssertEquals ("deep cloning differs from shallow cloning",
  80. deep.OuterXml, shallow.OuterXml);
  81. }
  82. }
  83. }