2 // System.Xml.XmlWhitespaceTests.cs
5 // Duncan Mak (duncan@ximian.com)
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
9 // (C) 2003 Martin Willemoes Hansen
15 using NUnit.Framework;
17 namespace MonoTests.System.Xml
20 public class XmlWhiteSpaceTests
24 XmlWhitespace whitespace;
31 public void GetReady ()
33 document = new XmlDocument ();
34 document.LoadXml ("<root><foo></foo></root>");
35 XmlElement element = document.CreateElement ("foo");
36 whitespace = document.CreateWhitespace ("\r\n");
37 element.AppendChild (whitespace);
39 doc2 = new XmlDocument ();
40 doc2.PreserveWhitespace = true;
44 public void InnerAndOuterXml ()
46 whitespace = doc2.CreateWhitespace ("\r\n\t ");
47 Assertion.AssertEquals (String.Empty, whitespace.InnerXml);
48 Assertion.AssertEquals ("\r\n\t ", whitespace.OuterXml);
51 internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
53 // assertequals (original.nodetype + " was incorrectly cloned.",
54 // original.baseuri, cloned.baseuri);
55 Assertion.AssertNull (cloned.ParentNode);
56 Assertion.AssertEquals ("Value incorrectly cloned",
57 cloned.Value, original.Value);
59 Assertion.Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
63 public void XmlWhitespaceBadConstructor ()
66 broken = document.CreateWhitespace ("black");
68 } catch (ArgumentException) {
72 Assertion.Fail ("Incorrect Exception thrown.");
77 public void XmlWhitespaceConstructor ()
79 Assertion.AssertEquals ("whitespace char didn't get copied right",
80 "\r\n", whitespace.Data);
84 public void XmlWhitespaceName ()
86 Assertion.AssertEquals (whitespace.NodeType + " Name property broken",
87 whitespace.Name, "#whitespace");
91 public void XmlWhitespaceLocalName ()
93 Assertion.AssertEquals (whitespace.NodeType + " LocalName property broken",
94 whitespace.LocalName, "#whitespace");
98 public void XmlWhitespaceNodeType ()
100 Assertion.AssertEquals ("XmlWhitespace NodeType property broken",
101 whitespace.NodeType.ToString (), "Whitespace");
105 public void XmlWhitespaceIsReadOnly ()
107 Assertion.AssertEquals ("XmlWhitespace IsReadOnly property broken",
108 whitespace.IsReadOnly, false);
112 public void XmlWhitespaceCloneNode ()
114 original = whitespace;
116 shallow = whitespace.CloneNode (false); // shallow
117 XmlNodeBaseProperties (original, shallow);
119 deep = whitespace.CloneNode (true); // deep
120 XmlNodeBaseProperties (original, deep);
122 Assertion.AssertEquals ("deep cloning differs from shallow cloning",
123 deep.OuterXml, shallow.OuterXml);