Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Mak <duncan@mono-cvs.ximian.com>2002-03-22 05:38:08 +0300
committerDuncan Mak <duncan@mono-cvs.ximian.com>2002-03-22 05:38:08 +0300
commitb9e2f23ea54d7fc39449751427b1446ce72f685b (patch)
treed77b0b0c0d9ce79fc0e8418c913d9f30dc2507d6 /mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs
parent556f0d7b34cd6ee14ceba4889902ddd3f498fc33 (diff)
2002-03-22 Duncan Mak <duncan@ximian.com>
* XmlElement.cs: Reformatted. (CloneNode) Corrected. * XmlDocument.cs (CreateWhitespace): Implemented. * XmlAttribute.cs (CloneNode): Changed the child's CloneNode to true, because Attributes have ChildNodes. 2002-03-22 Duncan Mak <duncan@ximian.com> * AllTests.cs: * Microsoft.Test.csproj: * Mono.Test.csproj: Updated to include new files. * XmlCDataSectionTests.cs: Added to CVS. * XmlCommentTests.cs: Added to CVS. hanks to Kral for helping me setup a testing environment on VS.NET. * XmlElementTests.cs: Reformatted. (TestCloneNode): Added. * XmlWhiteSpaceTests.cs: Added to CVS. svn path=/trunk/mcs/; revision=3267
Diffstat (limited to 'mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs')
-rwxr-xr-xmcs/class/System.XML/Test/XmlWhiteSpaceTests.cs112
1 files changed, 112 insertions, 0 deletions
diff --git a/mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs b/mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs
new file mode 100755
index 00000000000..62693aafc65
--- /dev/null
+++ b/mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs
@@ -0,0 +1,112 @@
+//
+// System.Xml.XmlWhitespaceTests.cs
+//
+// Author:
+// Duncan Mak (duncan@ximian.com)
+//
+// (C) Ximian, Inc.
+//
+
+using System;
+using System.Xml;
+
+using NUnit.Framework;
+
+namespace Ximian.Mono.Tests
+{
+ public class XmlWhitespaceTests : TestCase
+ {
+ XmlDocument document;
+ XmlWhitespace whitespace;
+ XmlWhitespace broken;
+ XmlNode original;
+ XmlNode deep;
+ XmlNode shallow;
+
+ public XmlWhitespaceTests ()
+ : base ("Ximian.Mono.Tests.XmlWhitespaceTests testsuite")
+ {
+ }
+
+ public XmlWhitespaceTests (string name)
+ : base (name)
+ {
+ }
+
+ protected override void SetUp ()
+ {
+ document = new XmlDocument ();
+ document.LoadXml ("<root><foo></foo></root>");
+ XmlElement element = document.CreateElement ("foo");
+ whitespace = document.CreateWhitespace ("\r\n");
+ element.AppendChild (whitespace);
+ }
+
+ internal void TestXmlNodeBaseProperties (XmlNode original, XmlNode cloned)
+ {
+// assertequals (original.nodetype + " was incorrectly cloned.",
+// original.baseuri, cloned.baseuri);
+ AssertNull (cloned.ParentNode);
+ AssertEquals ("Value incorrectly cloned",
+ cloned.Value, original.Value);
+
+ Assert ("Copies, not pointers", !Object.ReferenceEquals (original,cloned));
+ }
+
+ public void TestXmlWhitespaceBadConstructor ()
+ {
+ try {
+ broken = document.CreateWhitespace ("black");
+ } catch (Exception e) {
+ AssertEquals ("Incorrect Exception thrown",
+ e.GetType (), Type.GetType ("System.ArgumentException"));
+ }
+ }
+
+ public void TestXmlWhitespaceConstructor ()
+ {
+ AssertEquals ("whitespace char didn't get copied right",
+ "\r\n", whitespace.Data);
+ }
+
+
+ public void TestXmlWhitespaceName ()
+ {
+ AssertEquals (whitespace.NodeType + " Name property broken",
+ whitespace.Name, "#whitespace");
+ }
+
+ public void TestXmlWhitespaceLocalName ()
+ {
+ AssertEquals (whitespace.NodeType + " LocalName property broken",
+ whitespace.LocalName, "#whitespace");
+ }
+
+ public void TestXmlWhitespaceNodeType ()
+ {
+ AssertEquals ("XmlWhitespace NodeType property broken",
+ whitespace.NodeType.ToString (), "Whitespace");
+ }
+
+ public void TestXmlWhitespaceIsReadOnly ()
+ {
+ AssertEquals ("XmlWhitespace IsReadOnly property broken",
+ whitespace.IsReadOnly, false);
+ }
+
+ public void TestXmlWhitespaceCloneNode ()
+ {
+ original = whitespace;
+
+ shallow = whitespace.CloneNode (false); // shallow
+ TestXmlNodeBaseProperties (original, shallow);
+
+ deep = whitespace.CloneNode (true); // deep
+ TestXmlNodeBaseProperties (original, deep);
+
+
+ AssertEquals ("deep cloning differs from shallow cloning",
+ deep.OuterXml, shallow.OuterXml);
+ }
+ }
+}