XmlSchemaValidatorTests.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // XmlSchemaValidatorTests.cs
  3. //
  4. // Author:
  5. // Atsushi Enomoto <[email protected]>
  6. //
  7. // (C) 2008 Novell Inc.
  8. //
  9. #if NET_2_0
  10. using System;
  11. using System.Collections;
  12. using System.IO;
  13. using System.Xml;
  14. using System.Xml.Schema;
  15. using NUnit.Framework;
  16. namespace MonoTests.System.Xml
  17. {
  18. [TestFixture]
  19. public class XmlSchemaValidatorTests
  20. {
  21. [Test]
  22. public void XsdAnyToSkipAttributeValidation ()
  23. {
  24. // bug #358408
  25. XmlSchemaSet schemas = new XmlSchemaSet ();
  26. schemas.Add (null, "Test/XmlFiles/xsd/358408.xsd");
  27. XmlSchemaValidator v = new XmlSchemaValidator (
  28. new NameTable (),
  29. schemas,
  30. new XmlNamespaceManager (new NameTable ()),
  31. XmlSchemaValidationFlags.ProcessIdentityConstraints);
  32. v.Initialize ();
  33. v.ValidateWhitespace (" ");
  34. XmlSchemaInfo info = new XmlSchemaInfo ();
  35. ArrayList list = new ArrayList ();
  36. v.ValidateElement ("configuration", "", info, null, null, null, null);
  37. v.GetUnspecifiedDefaultAttributes (list);
  38. v.ValidateEndOfAttributes (info);
  39. v.ValidateWhitespace (" ");
  40. v.ValidateElement ("host", "", info, null, null, null, null);
  41. v.ValidateAttribute ("auto-start", "", "true", info);
  42. list.Clear ();
  43. v.GetUnspecifiedDefaultAttributes (list);
  44. v.ValidateEndOfAttributes (info);
  45. v.ValidateEndElement (null);//info);
  46. v.ValidateWhitespace (" ");
  47. v.ValidateElement ("service-managers", "", info, null, null, null, null);
  48. list.Clear ();
  49. v.GetUnspecifiedDefaultAttributes (list);
  50. v.ValidateEndOfAttributes (info);
  51. v.ValidateWhitespace (" ");
  52. v.ValidateElement ("service-manager", "", info, null, null, null, null);
  53. list.Clear ();
  54. v.GetUnspecifiedDefaultAttributes (list);
  55. v.ValidateEndOfAttributes (info);
  56. v.ValidateWhitespace (" ");
  57. v.ValidateElement ("foo", "", info, null, null, null, null);
  58. v.ValidateAttribute ("bar", "", "", info);
  59. }
  60. }
  61. }
  62. #endif