(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.XML / Test / System.Xml / XmlDocumentTypeTests.cs
blob3d5b667ffc0fcd51a5db29f15abd1fb24cfb9b08
1 //
2 // System.Xml.XmlDocumentTypeTests.cs
3 //
4 // Author: Duncan Mak (duncan@ximian.com)
5 // Author: Martin Willemoes Hansen (mwh@sysrq.dk)
6 //
7 // (C) Ximian, Inc.
8 // (C) 2003 Martin Willemoes Hansen
9 //
11 using System;
12 using System.Xml;
14 using NUnit.Framework;
16 namespace MonoTests.System.Xml
18 [TestFixture]
19 public class XmlDocumentTypeTests : Assertion
21 XmlDocument document;
22 XmlDocumentType docType;
24 [SetUp]
25 public void GetReady ()
27 document = new XmlDocument ();
28 docType = document.CreateDocumentType ("book", null, null, "<!ELEMENT book ANY>");
29 document.AppendChild (docType);
32 internal void XmlNodeBaseProperties (XmlNode original, XmlNode cloned)
34 // assertequals (original.nodetype + " was incorrectly cloned.",
35 // original.baseuri, cloned.baseuri);
37 AssertNull (cloned.ParentNode);
38 AssertEquals ("Value incorrectly cloned",
39 original.Value, cloned.Value);
41 Assert ("Copies, not pointers", !Object.ReferenceEquals (original, cloned));
44 [Test]
45 public void Name ()
47 AssertEquals ("Getting Name property", "book", docType.Name);
50 [Test]
51 public void LocalName ()
53 AssertEquals ("Getting LocalName property", "book", docType.LocalName);
56 [Test]
57 public void InternalSubset ()
59 AssertEquals ("Getting Internal Subset property",
60 "<!ELEMENT book ANY>", docType.InternalSubset);
63 [Test]
64 public void AppendChild ()
66 try {
67 XmlDocumentType type1 = document.CreateDocumentType ("book", null, null, null);
68 document.AppendChild (type1);
70 } catch (InvalidOperationException) {
71 return;
73 } catch (Exception) {
74 Fail ("Incorrect Exception thrown.");
78 [Test]
79 public void NodeType ()
81 AssertEquals ("NodeType property broken",
82 docType.NodeType.ToString (), "DocumentType");
85 [Test]
86 public void IsReadOnly ()
88 AssertEquals ("IsReadOnly property", "True", docType.IsReadOnly.ToString ());
91 [Test]
92 [ExpectedException (typeof (XmlException))]
93 public void IncorrectInternalSubset ()
95 XmlDocument doc = new XmlDocument ();
96 XmlDocumentType doctype = doc.CreateDocumentType (
97 "root", "public-hogehoge", null,
98 "invalid_intsubset");
99 doctype = doc.CreateDocumentType ("root",
100 "public-hogehoge", null,
101 "<!ENTITY % pe1 '>'> <!ELEMENT e EMPTY%pe1;");
104 [Test]
105 public void CloneNode ()
107 XmlNode original = docType;
109 XmlNode cloned1 = docType.CloneNode (true);
110 XmlNodeBaseProperties (original, cloned1);
112 XmlNode cloned2 = docType.CloneNode (false);
113 XmlNodeBaseProperties (original, cloned2);
115 AssertEquals ("Deep and shallow cloning", cloned1.Value, cloned2.Value);