| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- //
- // System.Xml.XmlTextWriterTests
- //
- // Author: Kral Ferch <[email protected]>
- // Author: Martin Willemoes Hansen <[email protected]>
- //
- // (C) 2002 Kral Ferch
- // (C) 2003 Martin Willemoes Hansen
- //
- using System;
- using System.Xml;
- using NUnit.Framework;
- namespace MonoTests.System.Xml
- {
- [TestFixture]
- public class XmlCharacterDataTests
- {
- XmlDocument document;
- XmlComment comment;
- bool changed;
- bool changing;
- [SetUp]
- public void GetReady ()
- {
- document = new XmlDocument ();
- document.NodeChanged += new XmlNodeChangedEventHandler (this.EventNodeChanged);
- document.NodeChanging += new XmlNodeChangedEventHandler (this.EventNodeChanging);
- comment = document.CreateComment ("foo");
- }
- private void EventNodeChanged(Object sender, XmlNodeChangedEventArgs e)
- {
- changed = true;
- }
- private void EventNodeChanging (Object sender, XmlNodeChangedEventArgs e)
- {
- changing = true;
- }
- [Test]
- public void AppendData ()
- {
- changed = false;
- changing = false;
- comment.AppendData ("bar");
- Assert.IsTrue (changed);
- Assert.IsTrue (changing);
- Assert.AreEqual ("foobar", comment.Data);
- comment.Value = "foo";
- comment.AppendData (null);
- Assert.AreEqual ("foo", comment.Data);
- }
- [Test]
- public void DeleteData ()
- {
- comment.Value = "bar";
- changed = false;
- changing = false;
- comment.DeleteData (1, 1);
- Assert.IsTrue (changed);
- Assert.IsTrue (changing);
- Assert.AreEqual ("br", comment.Data);
- try
- {
- comment.Value = "foo";
- comment.DeleteData(-1, 1);
- Assert.Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
- }
- catch (ArgumentOutOfRangeException) {}
- comment.Value = "foo";
- comment.DeleteData(1, 5);
- Assert.AreEqual ("f", comment.Data);
- comment.Value = "foo";
- comment.DeleteData(3, 10);
- Assert.AreEqual ("foo", comment.Data);
- }
- [Test]
- #if NET_2_0
- [Category ("NotDotNet")] // enbug in 2.0
- #endif
- public void InsertData ()
- {
- comment.Value = "foobaz";
- changed = false;
- changing = false;
- comment.InsertData (3, "bar");
- Assert.IsTrue (changed);
- Assert.IsTrue (changing);
- Assert.AreEqual ("foobarbaz", comment.Data);
- try
- {
- comment.Value = "foo";
- comment.InsertData (-1, "bar");
- Assert.Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
- }
- catch (ArgumentOutOfRangeException) {}
- comment.Value = "foo";
- comment.InsertData (3, "bar");
- Assert.AreEqual ("foobar", comment.Data);
- try
- {
- comment.Value = "foo";
- comment.InsertData (4, "bar");
- Assert.Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
- }
- catch (ArgumentOutOfRangeException) {}
- try
- {
- comment.Value = "foo";
- comment.InsertData (1, null);
- Assert.Fail ("Expected an ArgumentNullException to be thrown.");
- }
- catch (ArgumentNullException) {}
- }
- [Test]
- #if NET_2_0
- [Category ("NotDotNet")] // enbug in 2.0
- #endif
- public void ReplaceData ()
- {
- changed = false;
- changing = false;
- comment.ReplaceData (0, 3, "bar");
- Assert.IsTrue (changed);
- Assert.IsTrue (changing);
- Assert.AreEqual ("bar", comment.Data);
- comment.Value = "foo";
- comment.ReplaceData (2, 3, "bar");
- Assert.AreEqual ("fobar", comment.Data);
- comment.Value = "foo";
- comment.ReplaceData (3, 3, "bar");
- Assert.AreEqual ("foobar", comment.Data);
- try
- {
- comment.Value = "foo";
- comment.ReplaceData (4, 3, "bar");
- Assert.Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
- }
- catch (ArgumentOutOfRangeException) {}
- try
- {
- comment.Value = "foo";
- comment.ReplaceData (-1, 3, "bar");
- Assert.Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
- }
- catch (ArgumentOutOfRangeException) {}
- comment.Value = "foo";
- comment.ReplaceData (0, 2, "bar");
- Assert.AreEqual ("baro", comment.Data);
- comment.Value = "foo";
- comment.ReplaceData (0, 5, "bar");
- Assert.AreEqual ("bar", comment.Data);
- try
- {
- comment.Value = "foo";
- comment.ReplaceData (1, 1, null);
- Assert.Fail ("Expected an ArgumentNullException to be thrown.");
- }
- catch (ArgumentNullException) {}
- }
- [Test]
- public void Substring ()
- {
- comment.Value = "test string";
- Assert.AreEqual (comment.Substring (0, 50), "test string");
- }
- [Test]
- [ExpectedException (typeof (ArgumentOutOfRangeException))]
- public void SubstringStartOutOfRange ()
- {
- comment.Value = "test string";
- comment.Substring (-5, 10);
- }
- [Test]
- [ExpectedException (typeof (ArgumentOutOfRangeException))]
- public void SubstringCountOutOfRange ()
- {
- comment.Value = "test string";
- comment.Substring (10, -5);
- }
- }
- }
|