diff --git a/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserRegistry.cs b/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserRegistry.cs index bc928554..2207bcf3 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserRegistry.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserRegistry.cs @@ -78,13 +78,13 @@ namespace Spring.Objects.Factory.Xml #region Fields - private readonly static IDictionary parsers; + private static IDictionary parsers; private readonly static IDictionary wellknownNamespaceParserTypeNames; #if !NET_2_0 - private readonly static XmlSchemaCollection schemas; + private static XmlSchemaCollection schemas; #else - private readonly static XmlSchemaSet schemas; + private static XmlSchemaSet schemas; #endif #endregion @@ -94,13 +94,6 @@ namespace Spring.Objects.Factory.Xml /// static NamespaceParserRegistry() { - parsers = new HybridDictionary(); -#if !NET_2_0 - schemas = new XmlSchemaCollection(); -#else - schemas = new XmlSchemaSet(); - schemas.XmlResolver = new XmlResourceUrlResolver(); -#endif wellknownNamespaceParserTypeNames = new CaseInsensitiveHashtable(); wellknownNamespaceParserTypeNames["http://www.springframework.net/tx"] = "Spring.Transaction.Config.TxNamespaceParser, Spring.Data"; wellknownNamespaceParserTypeNames["http://www.springframework.net/aop"] = "Spring.Aop.Config.AopNamespaceParser, Spring.Aop"; @@ -118,6 +111,14 @@ namespace Spring.Objects.Factory.Xml /// use for unit tests only public static void Reset() { + parsers = new HybridDictionary(); +#if !NET_2_0 + schemas = new XmlSchemaCollection(); +#else + schemas = new XmlSchemaSet(); + schemas.XmlResolver = new XmlResourceUrlResolver(); +#endif + //TODO - externalize default list of parsers. RegisterParser(new ObjectsNamespaceParser()); // register custom config parsers diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/NamespaceParserRegistryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/NamespaceParserRegistryTests.cs index a44966d3..4d069c07 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/NamespaceParserRegistryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/NamespaceParserRegistryTests.cs @@ -57,6 +57,18 @@ namespace Spring.Objects.Factory.Xml } } + [SetUp] + public void SetUp() + { + NamespaceParserRegistry.Reset(); + } + + [TearDown] + public void TearDown() + { + NamespaceParserRegistry.Reset(); + } + #if !NET_1_0 /// /// This test doesn't work on .NET 1.0 because there are no XmlResolvers for schema loading...