XmlCommentTests.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //
  2. // System.Xml.XmlCommentTests.cs
  3. //
  4. // Author: Duncan Mak ([email protected])
  5. // Author: Martin Willemoes Hansen ([email protected])
  6. //
  7. // (C) Ximian, Inc.
  8. // (C) 2003 Martin Willemoes Hansen
  9. //
  10. using System;
  11. using System.Xml;
  12. using NUnit.Framework;
  13. namespace MonoTests.System.Xml
  14. {
  15. [TestFixture]
  16. public class XmlCommentTests : Assertion
  17. {
  18. XmlDocument document;
  19. XmlComment comment;
  20. XmlNode original;
  21. XmlNode deep;
  22. XmlNode shallow;
  23. [SetUp]
  24. public void GetReady ()
  25. {
  26. document = new XmlDocument ();
  27. }
  28. [Test]
  29. public void XmlCommentCloneNode ()
  30. {
  31. document.LoadXml ("<root><foo></foo></root>");
  32. comment = document.CreateComment ("Comment");
  33. original = comment;
  34. shallow = comment.CloneNode (false); // shallow
  35. XmlNodeBaseProperties (original, shallow);
  36. deep = comment.CloneNode (true); // deep
  37. XmlNodeBaseProperties (original, deep);
  38. AssertEquals ("Value incorrectly cloned",
  39. original.Value, deep.Value);
  40. AssertEquals ("deep cloning differs from shallow cloning",
  41. deep.OuterXml, shallow.OuterXml);
  42. }
  43. [Test]
  44. public void XmlCommentInnerAndOuterXml ()
  45. {
  46. comment = document.CreateComment ("foo");
  47. AssertEquals (String.Empty, comment.InnerXml);
  48. AssertEquals ("<!--foo-->", comment.OuterXml);
  49. }
  50. [Test]
  51. public void XmlCommentIsReadOnly ()
  52. {
  53. document.LoadXml ("<root><foo></foo></root>");
  54. comment = document.CreateComment ("Comment");
  55. AssertEquals ("XmlComment IsReadOnly property broken",
  56. comment.IsReadOnly, false);
  57. }
  58. [Test]
  59. public void XmlCommentLocalName ()
  60. {
  61. document.LoadXml ("<root><foo></foo></root>");
  62. comment = document.CreateComment ("Comment");
  63. AssertEquals (comment.NodeType + " LocalName property broken",
  64. comment.LocalName, "#comment");
  65. }
  66. [Test]
  67. public void XmlCommentName ()
  68. {
  69. document.LoadXml ("<root><foo></foo></root>");
  70. comment = document.CreateComment ("Comment");
  71. AssertEquals (comment.NodeType + " Name property broken",
  72. comment.Name, "#comment");
  73. }
  74. [Test]
  75. public void XmlCommentNodeType ()
  76. {
  77. document.LoadXml ("<root><foo></foo></root>");
  78. comment = document.CreateComment ("Comment");
  79. AssertEquals ("XmlComment NodeType property broken",
  80. comment.NodeType.ToString (), "Comment");
  81. }
  82. internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
  83. {
  84. document.LoadXml ("<root><foo></foo></root>");
  85. comment = document.CreateComment ("Comment");
  86. // assertequals (original.nodetype + " was incorrectly cloned.",
  87. // original.baseuri, cloned.baseuri);
  88. AssertNull (cloned.ParentNode);
  89. AssertEquals ("Value incorrectly cloned",
  90. original.Value, cloned.Value);
  91. Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
  92. }
  93. }
  94. }