(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.XML / Test / System.Xml / XmlReaderSettingsTests.cs
blobf367ae51efd5e530415272555439849a7469f1f9
1 //
2 // System.Xml.XmlReaderSettingsTests.cs
3 //
4 // Authors:
5 // Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // (C)2004 Novell Inc.
8 //
10 #if NET_2_0
11 using System;
12 using System.IO;
13 using System.Xml;
14 using System.Xml.Schema;
15 using NUnit.Framework;
17 namespace MonoTests.System.Xml
19 [TestFixture]
20 public class XmlReaderSettingsTests : Assertion
22 [Test]
23 public void DefaultValue ()
25 XmlReaderSettings s = new XmlReaderSettings ();
26 AssertEquals (true, s.CheckCharacters);
27 AssertEquals (ConformanceLevel.Document, s.ConformanceLevel);
28 AssertEquals (false, s.DtdValidate);
29 AssertEquals (false, s.IgnoreComments);
30 AssertEquals (true, s.IgnoreInlineSchema);
31 AssertEquals (false, s.IgnoreProcessingInstructions);
32 AssertEquals (true, s.IgnoreSchemaLocation);
33 AssertEquals (true, s.IgnoreValidationWarnings);
34 AssertEquals (false, s.IgnoreWhitespace);
35 AssertEquals (0, s.LineNumberOffset);
36 AssertEquals (0, s.LinePositionOffset);
37 AssertNull (s.NameTable);
38 AssertEquals (0, s.Schemas.Count);
39 AssertEquals (false, s.XsdValidate);
42 [Test]
43 [ExpectedException (typeof (XmlException))]
44 public void SetSchemas ()
46 XmlReaderSettings s = new XmlReaderSettings ();
47 s.Schemas = new XmlSchemaSet ();
50 [Test]
51 public void CloseInput ()
53 StringReader sr = new StringReader ("<root/><root/>");
54 XmlReader xtr = XmlReader.Create (sr); // default false
55 xtr.Read ();
56 xtr.Close ();
57 // It should without error, unlike usual XmlTextReader.
58 sr.ReadLine ();
61 [Test]
62 public void CreateAndNormalization ()
64 StringReader sr = new StringReader (
65 "<root attr=' value '>test\rstring</root>");
66 XmlReaderSettings settings = new XmlReaderSettings ();
67 settings.CheckCharacters = false;
68 XmlReader xtr = XmlReader.Create (
69 sr, null, null, settings);
70 xtr.Read ();
71 xtr.MoveToFirstAttribute ();
72 AssertEquals (" value ", xtr.Value);
73 xtr.Read ();
74 // Text string is normalized
75 AssertEquals ("test\nstring", xtr.Value);
78 [Test]
79 public void CheckCharactersAndNormalization ()
81 // It should *not* raise an error (even Normalization
82 // is set by default).
83 StringReader sr = new StringReader (
84 "<root attr='&#0;'>&#x0;</root>");
85 XmlReaderSettings settings = new XmlReaderSettings ();
86 settings.CheckCharacters = false;
87 XmlReader xtr = XmlReader.Create (
88 sr, null, null, settings);
89 // After creation, changes on source XmlReaderSettings
90 // does not matter.
91 settings.CheckCharacters = false;
92 xtr.Read ();
93 xtr.MoveToFirstAttribute ();
94 AssertEquals ("\0", xtr.Value);
95 xtr.Read ();
96 AssertEquals ("\0", xtr.Value);
99 // Hmm, does it really make sense? :-/
100 [Test]
101 public void CheckCharactersForNonTextReader ()
103 // It should *not* raise an error (even Normalization
104 // is set by default).
105 StringReader sr = new StringReader (
106 "<root attr='&#0;'>&#x0;</root>");
107 XmlReaderSettings settings = new XmlReaderSettings ();
108 settings.CheckCharacters = false;
109 XmlReader xr = XmlReader.Create (
110 sr, null, null, settings);
112 // Enable character checking for XmlNodeReader.
113 settings.CheckCharacters = true;
114 XmlDocument doc = new XmlDocument ();
115 doc.Load (xr);
116 xr = XmlReader.Create (new XmlNodeReader (doc), settings);
118 // But it won't work against XmlNodeReader.
119 xr.Read ();
120 xr.MoveToFirstAttribute ();
121 AssertEquals ("\0", xr.Value);
122 xr.Read ();
123 AssertEquals ("\0", xr.Value);
127 #endif