XmlCDataSectionTests.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 Ximian.Mono.Tests
  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 ("Ximian.Mono.Tests.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 TestXmlCDataSectionName ()
  43. {
  44. AssertEquals (section.NodeType + " Name property broken",
  45. section.Name, "#cdata-section");
  46. }
  47. public void TestXmlCDataSectionLocalName ()
  48. {
  49. AssertEquals (section.NodeType + " LocalName property broken",
  50. section.LocalName, "#cdata-section");
  51. }
  52. public void TestXmlCDataSectionNodeType ()
  53. {
  54. AssertEquals ("XmlCDataSection NodeType property broken",
  55. section.NodeType.ToString (), "CDATA");
  56. }
  57. public void TestXmlCDataSectionIsReadOnly ()
  58. {
  59. AssertEquals ("XmlCDataSection IsReadOnly property broken",
  60. section.IsReadOnly, false);
  61. }
  62. public void TestXmlCDataSectionCloneNode ()
  63. {
  64. original = section;
  65. shallow = section.CloneNode (false); // shallow
  66. TestXmlNodeBaseProperties (original, shallow);
  67. AssertEquals ("Value incorrectly cloned",
  68. original.Value, shallow.Value);
  69. deep = section.CloneNode (true); // deep
  70. TestXmlNodeBaseProperties (original, deep);
  71. AssertEquals ("Value incorrectly cloned",
  72. original.Value, deep.Value);
  73. AssertEquals ("deep cloning differs from shallow cloning",
  74. deep.OuterXml, shallow.OuterXml);
  75. }
  76. }
  77. }