| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //
- // XmlDocumentEventTests.cs
- //
- // Author:
- // Atsushi Enomoto <[email protected]>
- //
- // (C)2004 Novell Inc.
- //
- // This class is a set of event test.
- //
- using NUnit.Framework;
- using System;
- using System.Text;
- using System.Xml;
- namespace MonoTests.System.Xml
- {
- [TestFixture]
- public class XmlDocumentEventTests : Assertion
- {
- public static void Main ()
- {
- new XmlDocumentEventTests ().InsertingOrder ();
- }
- private StringBuilder eventLogBuilder = new StringBuilder ();
- private XmlDocument GetEventDocument ()
- {
- XmlDocument document = new XmlDocument ();
- SetEvents (document);
- return document;
- }
- private void SetEvents (XmlDocument document)
- {
- document.NodeInserting += new XmlNodeChangedEventHandler (OnInsertingLog);
- document.NodeInserted += new XmlNodeChangedEventHandler (OnInsertedLog);
- document.NodeChanging += new XmlNodeChangedEventHandler (OnChangingLog);
- document.NodeChanged += new XmlNodeChangedEventHandler (OnChangedLog);
- document.NodeRemoving += new XmlNodeChangedEventHandler (OnRemovingLog);
- document.NodeRemoved += new XmlNodeChangedEventHandler (OnRemovedLog);
- }
- private void OnInsertingLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Inserting: " + e.Node.NodeType + " into " + e.NewParent.NodeType + ".\n");
- }
- private void OnInsertedLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Inserted: " + e.Node.NodeType + " into " + e.NewParent.NodeType + ".\n");
- }
- private void OnChangingLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Changing: " + e.Node.NodeType + " into " + e.NewParent.NodeType + ".\n");
- }
- private void OnChangedLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Changed: " + e.Node.NodeType + " into " + e.NewParent.NodeType + ".\n");
- }
- private void OnRemovingLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Removing: " + e.Node.NodeType + " from " + e.OldParent.NodeType + ".\n");
- }
- private void OnRemovedLog (object o, XmlNodeChangedEventArgs e)
- {
- eventLogBuilder.Append ("Removed: " + e.Node.NodeType + " from " + e.OldParent.NodeType + ".\n");
- }
- [SetUp]
- public void SetUp ()
- {
- eventLogBuilder.Length = 0;
- }
- private string EventLog {
- get { return eventLogBuilder.ToString (); }
- }
- [Test]
- public void InsertingOrder ()
- {
- XmlDocument document = GetEventDocument ();
- XmlElement el = document.CreateElement ("root");
- el.AppendChild (document.CreateTextNode ("simple text node."));
- document.AppendChild (el);
- AssertEquals (
- @"Inserting: Text into Element.
- Inserted: Text into Element.
- Inserting: Element into Document.
- Inserted: Element into Document.
- ", EventLog);
- }
- [Test]
- public void DefaultAttributeRemoval ()
- {
- XmlDocument doc = new XmlDocument ();
- doc.LoadXml ("<!DOCTYPE root [<!ELEMENT root (#PCDATA)><!ATTLIST root foo CDATA 'foo-def'>]><root></root>");
- SetEvents (doc);
- doc.DocumentElement.RemoveAll ();
- AssertEquals (
- @"Removing: Attribute from Element.
- Removed: Attribute from Element.
- Inserting: Text into Attribute.
- Inserted: Text into Attribute.
- Inserting: Attribute into Element.
- Inserted: Attribute into Element.
- ", EventLog);
- }
- }
- }
|