[monodoc] Add forgotten test file
[mono.git] / mcs / class / monodoc / Test / Monodoc.Generators / AvoidCDataTextReaderTests.cs
1 using System;
2 using System.IO;
3 using System.Linq;
4 using System.Xml;
5 using System.Collections.Generic;
6
7 using NUnit.Framework;
8
9 using Monodoc;
10 using Monodoc.Generators;
11 using Monodoc.Generators.Html;
12
13 namespace MonoTests.Monodoc.Generators
14 {
15         [TestFixture]
16         public class AvoidCDataTextReaderTest
17         {
18                 void AssertSameInputOutput (string expected, string input)
19                 {
20                         var processed = new AvoidCDataTextReader (new StringReader (input)).ReadToEnd ();
21                         Assert.AreEqual (expected, processed);
22                 }
23
24                 [Test]
25                 public void NoCDataXmlTest ()
26                 {
27                         var input = @"<elements><summary>Addressbook APIs.</summary><remarks /><class name=""ABAddressBook"" fullname=""MonoTouch.AddressBook.ABAddressBook"" assembly=""monotouch""><summary>
28       Provides access to the system Address Book.
29     </summary></class></elements>";
30
31                         AssertSameInputOutput (input, input);
32                 }
33
34                 [Test]
35                 public void WithCDataXmlTest ()
36                 {
37                         var input = @"<elements><summary>Addressbook APIs.</summary><remarks /><class name=""ABAddressBook"" fullname=""MonoTouch.AddressBook.ABAddressBook"" assembly=""monotouch""><summary><![CDATA[
38       Provides access to the system Address Book.]]>
39     </summary></class></elements>";
40
41                         AssertSameInputOutput (input.Replace ("<![CDATA[", string.Empty).Replace ("]]>", string.Empty), input);
42                 }
43
44                 [Test]
45                 public void PartialCDataXmlTest ()
46                 {
47                         var input = @"<elements><summary>Addressbook APIs.</summary><remarks /><class name=""ABAddressBook"" fullname=""MonoTouch.AddressBook.ABAddressBook"" assembly=""monotouch""><summary><![CDA[
48       Provides access to the system Address Book.]]>
49     </summary></class></elements>";
50
51                         AssertSameInputOutput (input, input);
52                 }
53
54                 [Test]
55                 public void FinishWithPartialCDataXmlTest ()
56                 {
57                         var input = @"<elements><summary>Addressbook APIs.</summary><remarks /><class name=""ABAddressBook"" fullname=""MonoTouch.AddressBook.ABAddressBook"" assembly=""monotouch""><summary>
58       Provides access to the system Address Book.
59     </summary></class></elements><![CDA[";
60
61                         AssertSameInputOutput (input, input);
62                 }
63
64                 [Test]
65                 public void FinishWithCDataXmlTest ()
66                 {
67                         var input = @"<elements><summary>Addressbook APIs.</summary><remarks /><class name=""ABAddressBook"" fullname=""MonoTouch.AddressBook.ABAddressBook"" assembly=""monotouch""><summary>
68       Provides access to the system Address Book.
69     </summary></class></elements><![CDATA[";
70
71                         AssertSameInputOutput (input.Replace ("<![CDATA[", string.Empty), input);
72                 }
73
74                 [Test]
75                 public void EmptyInputTest ()
76                 {
77                         AssertSameInputOutput (string.Empty, string.Empty);
78                 }
79
80                 [Test]
81                 public void LimitedInputTest ()
82                 {
83                         AssertSameInputOutput ("foo", "foo");
84                 }
85         }
86 }