1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using OLEDB.Test.ModuleCore; 6 using System.IO; 7 using XmlCoreTest.Common; 8 9 namespace System.Xml.Tests 10 { 11 [TestCase(Name = "Create Overloads", Desc = "Create Overloads")] 12 public partial class TCCreateOverloads : TCXMLReaderBaseGeneral 13 { 14 private string _sampleFileName = @"sample.xml"; 15 private string _sampleXml = "<root><a/></root>"; CreateFile()16 private void CreateFile() 17 { 18 MemoryStream ms = new MemoryStream(); 19 StreamWriter sw = new StreamWriter(ms); 20 sw.WriteLine(_sampleXml); 21 sw.Flush(); 22 FilePathUtil.addStream(_sampleFileName, ms); 23 } 24 Init(object o)25 public override int Init(object o) 26 { 27 CreateFile(); 28 return base.Init(o); 29 } 30 GetStream()31 public Stream GetStream() 32 { 33 return FilePathUtil.getStream(_sampleFileName); 34 } 35 GetUrl()36 public String GetUrl() 37 { 38 return _sampleFileName; 39 } 40 GetTextReader()41 public TextReader GetTextReader() 42 { 43 return new StringReader(_sampleXml); 44 } 45 GetBaseUri()46 public string GetBaseUri() 47 { 48 return _sampleFileName; 49 } 50 GetSettings()51 public XmlReaderSettings GetSettings() 52 { 53 return new XmlReaderSettings(); 54 } 55 GetXmlReader()56 public XmlReader GetXmlReader() 57 { 58 return ReaderHelper.Create(GetTextReader()); 59 } 60 GetParserContext()61 public XmlParserContext GetParserContext() 62 { 63 NameTable nt = new NameTable(); 64 XmlParserContext pc = new XmlParserContext(nt, new XmlNamespaceManager(nt), null, XmlSpace.Default); 65 return pc; 66 } 67 68 public class ReaderDelegate 69 { Create(String url)70 public static bool Create(String url) 71 { 72 XmlReader reader = null; 73 try 74 { 75 reader = ReaderHelper.Create(url); 76 while (reader.Read()) ; 77 78 return true; 79 } 80 catch (ArgumentNullException ane) 81 { 82 CError.WriteLineIgnore(ane.ToString()); 83 return false; 84 } 85 finally 86 { 87 if (reader != null) 88 reader.Dispose(); 89 } 90 } 91 92 Create(Stream input)93 public static bool Create(Stream input) 94 { 95 XmlReader reader = null; 96 try 97 { 98 reader = ReaderHelper.Create(input); 99 while (reader.Read()) ; 100 return true; 101 } 102 catch (ArgumentNullException ane) 103 { 104 CError.WriteLineIgnore(ane.ToString()); 105 return false; 106 } 107 finally 108 { 109 if (reader != null) 110 reader.Dispose(); 111 } 112 } Create(TextReader input)113 public static bool Create(TextReader input) 114 { 115 XmlReader reader = null; 116 try 117 { 118 reader = ReaderHelper.Create(input); 119 while (reader.Read()) ; 120 return true; 121 } 122 catch (ArgumentNullException ane) 123 { 124 CError.WriteLineIgnore(ane.ToString()); 125 return false; 126 } 127 finally 128 { 129 if (reader != null) 130 reader.Dispose(); 131 } 132 } 133 Create(String url, XmlReaderSettings settings)134 public static bool Create(String url, XmlReaderSettings settings) 135 { 136 XmlReader reader = null; 137 try 138 { 139 reader = ReaderHelper.Create(url, settings); 140 while (reader.Read()) ; 141 return true; 142 } 143 catch (ArgumentNullException ane) 144 { 145 CError.WriteLineIgnore(ane.ToString()); 146 return false; 147 } 148 finally 149 { 150 if (reader != null) 151 reader.Dispose(); 152 } 153 } 154 Create(XmlReader input, XmlReaderSettings settings)155 public static bool Create(XmlReader input, XmlReaderSettings settings) 156 { 157 XmlReader reader = null; 158 try 159 { 160 reader = ReaderHelper.Create(input, settings); 161 while (reader.Read()) ; 162 return true; 163 } 164 catch (ArgumentNullException ane) 165 { 166 CError.WriteLineIgnore(ane.ToString()); 167 return false; 168 } 169 finally 170 { 171 if (reader != null) 172 reader.Dispose(); 173 } 174 } 175 Create(Stream input, XmlReaderSettings settings)176 public static bool Create(Stream input, XmlReaderSettings settings) 177 { 178 XmlReader reader = null; 179 try 180 { 181 reader = ReaderHelper.Create(input, settings); 182 while (reader.Read()) ; 183 return true; 184 } 185 catch (ArgumentNullException ane) 186 { 187 CError.WriteLineIgnore(ane.ToString()); 188 return false; 189 } 190 finally 191 { 192 if (reader != null) 193 reader.Dispose(); 194 } 195 } 196 Create(TextReader input, XmlReaderSettings settings)197 public static bool Create(TextReader input, XmlReaderSettings settings) 198 { 199 XmlReader reader = null; 200 try 201 { 202 reader = ReaderHelper.Create(input, settings); 203 while (reader.Read()) ; 204 return true; 205 } 206 catch (ArgumentNullException ane) 207 { 208 CError.WriteLineIgnore(ane.ToString()); 209 return false; 210 } 211 finally 212 { 213 if (reader != null) 214 reader.Dispose(); 215 } 216 } 217 Create(Stream input, XmlReaderSettings settings, String baseUri)218 public static bool Create(Stream input, XmlReaderSettings settings, String baseUri) 219 { 220 XmlReader reader = null; 221 try 222 { 223 reader = ReaderHelper.Create(input, settings, baseUri); 224 while (reader.Read()) ; 225 return true; 226 } 227 catch (ArgumentNullException ane) 228 { 229 CError.WriteLineIgnore(ane.ToString()); 230 return false; 231 } 232 finally 233 { 234 if (reader != null) 235 reader.Dispose(); 236 } 237 } 238 Create(Stream input, XmlReaderSettings settings, XmlParserContext parserContext)239 public static bool Create(Stream input, XmlReaderSettings settings, XmlParserContext parserContext) 240 { 241 XmlReader reader = null; 242 try 243 { 244 reader = ReaderHelper.Create(input, settings, parserContext); 245 while (reader.Read()) ; 246 return true; 247 } 248 catch (ArgumentNullException ane) 249 { 250 CError.WriteLineIgnore(ane.ToString()); 251 return false; 252 } 253 finally 254 { 255 if (reader != null) 256 reader.Dispose(); 257 } 258 } 259 Create(TextReader input, XmlReaderSettings settings, String baseUri)260 public static bool Create(TextReader input, XmlReaderSettings settings, String baseUri) 261 { 262 XmlReader reader = null; 263 try 264 { 265 reader = ReaderHelper.Create(input, settings, baseUri); 266 while (reader.Read()) ; 267 return true; 268 } 269 catch (ArgumentNullException ane) 270 { 271 CError.WriteLineIgnore(ane.ToString()); 272 return false; 273 } 274 finally 275 { 276 if (reader != null) 277 reader.Dispose(); 278 } 279 } 280 Create(TextReader input, XmlReaderSettings settings, XmlParserContext parserContext)281 public static bool Create(TextReader input, XmlReaderSettings settings, XmlParserContext parserContext) 282 { 283 XmlReader reader = null; 284 try 285 { 286 reader = ReaderHelper.Create(input, settings, parserContext); 287 while (reader.Read()) ; 288 return true; 289 } 290 catch (ArgumentNullException ane) 291 { 292 CError.WriteLineIgnore(ane.ToString()); 293 return false; 294 } 295 finally 296 { 297 if (reader != null) 298 reader.Dispose(); 299 } 300 } 301 Create(String url, XmlReaderSettings settings, XmlParserContext context)302 public static bool Create(String url, XmlReaderSettings settings, XmlParserContext context) 303 { 304 XmlReader reader = null; 305 try 306 { 307 reader = ReaderHelper.Create(url, settings, context); 308 while (reader.Read()) ; 309 return true; 310 } 311 catch (ArgumentNullException ane) 312 { 313 CError.WriteLineIgnore(ane.ToString()); 314 return false; 315 } 316 finally 317 { 318 if (reader != null) 319 reader.Dispose(); 320 } 321 } 322 } 323 324 [Variation("Null Input")] v1()325 public int v1() 326 { 327 CError.Equals(ReaderDelegate.Create((Stream)null), false, "Null Stream doesn't throw error1"); 328 CError.Equals(ReaderDelegate.Create((Stream)null, GetSettings(), GetBaseUri()), false, "Null Stream doesn't throw error2"); 329 CError.Equals(ReaderDelegate.Create((Stream)null, GetSettings()), false, "Null Stream doesn't throw error3"); 330 331 CError.Equals(ReaderDelegate.Create((string)null), false, "Null URL doesn't throw error1"); 332 CError.Equals(ReaderDelegate.Create((string)null, GetSettings()), false, "Null URL doesn't throw error2"); 333 CError.Equals(ReaderDelegate.Create((string)null, GetSettings(), GetParserContext()), false, "Null URL doesn't throw error3"); 334 335 CError.Equals(ReaderDelegate.Create((TextReader)null), false, "Null TextReader doesn't throw error1"); 336 CError.Equals(ReaderDelegate.Create((TextReader)null, GetSettings(), GetBaseUri()), false, "Null TextReader doesn't throw error2"); 337 CError.Equals(ReaderDelegate.Create((TextReader)null, GetSettings()), false, "Null TextReader doesn't throw error2"); 338 339 return TEST_PASS; 340 } 341 342 [Variation("Valid Input")] v2()343 public int v2() 344 { 345 XmlReader r = null; 346 347 Stream s = GetStream(); 348 r = ReaderHelper.Create(s); 349 while (r.Read()) ; 350 r.Dispose(); 351 352 r = ReaderHelper.Create(GetUrl()); 353 while (r.Read()) ; 354 r.Dispose(); 355 356 r = ReaderHelper.Create(GetTextReader()); 357 while (r.Read()) ; 358 r.Dispose(); 359 360 return TEST_PASS; 361 } 362 363 364 [Variation("Null Settings")] v3()365 public int v3() 366 { 367 CError.Equals(ReaderDelegate.Create(GetStream(), null, GetParserContext()), true, "StreamOverload2"); 368 CError.Equals(ReaderDelegate.Create(GetStream(), null), true, "StreamOverload3"); 369 370 CError.Equals(ReaderDelegate.Create(GetUrl(), null), true, "URL Overload 1"); 371 CError.Equals(ReaderDelegate.Create(GetUrl(), null, GetParserContext()), true, "URL Overload 2"); 372 373 CError.Equals(ReaderDelegate.Create(GetTextReader(), null, GetParserContext()), true, "TextReader Overload2"); 374 CError.Equals(ReaderDelegate.Create(GetTextReader(), null), true, "TextReader Overload3"); 375 376 CError.Equals(ReaderDelegate.Create(GetXmlReader(), null), true, "XmlReader Overload1"); 377 return TEST_PASS; 378 } 379 380 [Variation("Null ParserContext")] v5()381 public int v5() 382 { 383 CError.Equals(ReaderDelegate.Create(GetStream(), GetSettings(), (string)null), true, "StreamOverload3"); 384 CError.Equals(ReaderDelegate.Create(GetStream(), GetSettings(), (XmlParserContext)null), true, "StreamOverload4"); 385 386 CError.Equals(ReaderDelegate.Create(GetTextReader(), GetSettings(), (string)null), true, "TextOverload3"); 387 CError.Equals(ReaderDelegate.Create(GetTextReader(), GetSettings(), GetParserContext()), true, "TextOverload4"); 388 389 return TEST_PASS; 390 } 391 392 [Variation("Valid Settings")] v6()393 public int v6() 394 { 395 CError.Equals(ReaderDelegate.Create(GetStream(), GetSettings(), (string)null), true, "StreamOverload2"); 396 CError.Equals(ReaderDelegate.Create(GetStream(), GetSettings(), (XmlParserContext)null), true, "StreamOverload2"); 397 398 CError.Equals(ReaderDelegate.Create(GetUrl(), GetSettings()), true, "URL Overload 1"); 399 CError.Equals(ReaderDelegate.Create(GetUrl(), GetSettings(), GetParserContext()), true, "URL Overload 2"); 400 401 CError.Equals(ReaderDelegate.Create(GetTextReader(), GetSettings(), (string)null), true, "TextReader Overload2"); 402 CError.Equals(ReaderDelegate.Create(GetTextReader(), GetSettings(), (XmlParserContext)null), true, "TextReader Overload2"); 403 404 CError.Equals(ReaderDelegate.Create(GetXmlReader(), GetSettings()), true, "XmlReader Overload1"); 405 return TEST_PASS; 406 } 407 408 [Variation("Valid ParserContext")] v7()409 public int v7() 410 { 411 CError.Equals(ReaderDelegate.Create(GetStream(), GetSettings(), GetParserContext()), true, "StreamOverload3"); 412 413 CError.Equals(ReaderDelegate.Create(GetTextReader(), GetSettings(), GetParserContext()), true, "TextOverload3"); 414 415 return TEST_PASS; 416 } 417 } 418 } 419