diff options
author | Duncan Mak <duncan@mono-cvs.ximian.com> | 2002-03-22 05:38:08 +0300 |
---|---|---|
committer | Duncan Mak <duncan@mono-cvs.ximian.com> | 2002-03-22 05:38:08 +0300 |
commit | b9e2f23ea54d7fc39449751427b1446ce72f685b (patch) | |
tree | d77b0b0c0d9ce79fc0e8418c913d9f30dc2507d6 /mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs | |
parent | 556f0d7b34cd6ee14ceba4889902ddd3f498fc33 (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-x | mcs/class/System.XML/Test/XmlWhiteSpaceTests.cs | 112 |
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); + } + } +} |