2003-01-26 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
[mono.git] / mcs / class / System.XML / Test / XmlTextTests.cs
1 //
2 // System.Xml.XmlTextWriterTests
3 //
4 // Author:
5 //   Kral Ferch <kral_ferch@hotmail.com>
6 //
7 // (C) 2002 Kral Ferch
8 //
9
10 using System;
11 using System.Xml;
12 using NUnit.Framework;
13
14 namespace MonoTests.System.Xml
15 {
16         public class XmlTextTests : TestCase
17         {
18                 public XmlTextTests () : base ("MonoTests.System.Xml.XmlTextTests testsuite") {}
19                 public XmlTextTests (string name) : base (name) {}
20
21                 XmlDocument document;
22                 XmlText text;
23                 bool inserted;
24                 bool inserting;
25                 bool changed;
26                 bool changing;
27                 bool removed;
28                 bool removing;
29
30                 protected override void SetUp ()
31                 {
32                         document = new XmlDocument ();
33                 }
34
35                 private void EventNodeInserted(Object sender, XmlNodeChangedEventArgs e)
36                 {
37                         inserted = true;
38                 }
39
40                 private void EventNodeInserting (Object sender, XmlNodeChangedEventArgs e)
41                 {
42                         inserting = true;
43                 }
44
45                 private void EventNodeChanged(Object sender, XmlNodeChangedEventArgs e)
46                 {
47                         changed = true;
48                 }
49
50                 private void EventNodeChanging (Object sender, XmlNodeChangedEventArgs e)
51                 {
52                         changing = true;
53                 }
54
55                 private void EventNodeRemoved(Object sender, XmlNodeChangedEventArgs e)
56                 {
57                         removed = true;
58                 }
59
60                 private void EventNodeRemoving (Object sender, XmlNodeChangedEventArgs e)
61                 {
62                         removing = true;
63                 }
64
65                 public void TestInnerAndOuterXml ()
66                 {
67                         text = document.CreateTextNode ("&<>\"'");
68                         AssertEquals (String.Empty, text.InnerXml);
69                         AssertEquals ("&amp;&lt;&gt;\"'", text.OuterXml);
70                 }
71                 
72                 public void TestSplitText ()
73                 {
74                         document.LoadXml ("<root>test text.</root>");
75                         document.NodeInserted += new XmlNodeChangedEventHandler(EventNodeInserted);
76                         document.NodeChanged += new XmlNodeChangedEventHandler(EventNodeChanged);
77                         document.NodeRemoved += new XmlNodeChangedEventHandler(EventNodeRemoved);
78                         XmlText t = document.DocumentElement.FirstChild as XmlText;
79                         t.SplitText (5);
80                         AssertNotNull (t.NextSibling);
81                         AssertEquals ("test ", t.Value);
82                         AssertEquals ("text.", t.NextSibling.Value);
83                         Assert (changed);
84                         Assert (inserted);
85                         Assert (!removed);
86                 }
87         }
88 }