**** Merged from MCS ****
[mono-project.git] / mcs / class / System.XML / Test / System.Xml / standalone_tests / eventdump.cs
blob51ce833a81f6ba4482d9767de147af15540a024d
1 using System;
2 using System.IO;
3 using System.Xml;
5 public class DomEventDumper
7 public static void Main ()
9 new DomEventDumper ().TestOASIS ();
12 public void TestOASIS ()
14 XmlDocument doc = new XmlDocument ();
15 doc.NodeInserting += new XmlNodeChangedEventHandler (OnInserting);
16 doc.NodeInserted += new XmlNodeChangedEventHandler (OnInserted);
17 doc.NodeChanging += new XmlNodeChangedEventHandler (OnChanging);
18 doc.NodeChanged += new XmlNodeChangedEventHandler (OnChanged);
19 doc.NodeRemoving += new XmlNodeChangedEventHandler (OnRemoving);
20 doc.NodeRemoved += new XmlNodeChangedEventHandler (OnRemoved);
22 foreach (FileInfo fi in
23 new DirectoryInfo (@"xml-test-suite/xmlconf/oasis").GetFiles ("*.xml")) {
24 try {
25 if (fi.Name.IndexOf ("fail") >= 0)
26 continue;
28 Console.WriteLine ("#### File: " + fi.Name);
30 XmlTextReader xtr = new XmlTextReader (fi.FullName);
31 xtr.Namespaces = false;
32 xtr.Normalization = true;
33 doc.RemoveAll ();
34 doc.Load (xtr);
36 } catch (XmlException ex) {
37 if (fi.Name.IndexOf ("pass") >= 0)
38 Console.WriteLine ("Incorrectly invalid: " + fi.FullName + "\n" + ex.Message);
43 public void OnInserting (object o, XmlNodeChangedEventArgs e)
45 Console.WriteLine ("Inserting::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
48 public void OnInserted (object o, XmlNodeChangedEventArgs e)
50 Console.WriteLine ("Inserted::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
53 public void OnChanging (object o, XmlNodeChangedEventArgs e)
55 Console.WriteLine ("Changing::: " + e.Node.NodeType);
58 public void OnChanged (object o, XmlNodeChangedEventArgs e)
60 Console.WriteLine ("Changed::: " + e.Node.NodeType);
63 public void OnRemoving (object o, XmlNodeChangedEventArgs e)
65 Console.WriteLine ("Removing::: " + e.Node.NodeType);
68 public void OnRemoved (object o, XmlNodeChangedEventArgs e)
70 Console.WriteLine ("Removed::: " + e.Node.NodeType);