diff --git a/src/Spring/Spring.Core/Context/Attributes/AssemblyObjectDefinitionScanner.cs b/src/Spring/Spring.Core/Context/Attributes/AssemblyObjectDefinitionScanner.cs
index e6f0b9fe..e4f9cf8b 100644
--- a/src/Spring/Spring.Core/Context/Attributes/AssemblyObjectDefinitionScanner.cs
+++ b/src/Spring/Spring.Core/Context/Attributes/AssemblyObjectDefinitionScanner.cs
@@ -159,7 +159,7 @@ namespace Spring.Context.Attributes
/// The registry within which to register the types.
public virtual void ScanAndRegisterTypes(IObjectDefinitionRegistry registry)
{
- IEnumerable configTypes = base.Scan();
+ IEnumerable configTypes = Scan();
RegisterDefinitionsForTypes(registry, configTypes);
}
diff --git a/test/Spring/Spring.Core.Tests/Context/Attributes/AssemblyObjectDefinitionScannerTests.cs b/test/Spring/Spring.Core.Tests/Context/Attributes/AssemblyObjectDefinitionScannerTests.cs
new file mode 100644
index 00000000..c179cda2
--- /dev/null
+++ b/test/Spring/Spring.Core.Tests/Context/Attributes/AssemblyObjectDefinitionScannerTests.cs
@@ -0,0 +1,52 @@
+#region License
+
+/*
+ * Copyright © 2010-2011 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+
+using NUnit.Framework;
+
+using Spring.Objects.Factory.Support;
+
+namespace Spring.Context.Attributes
+{
+ [TestFixture]
+ public class AssemblyObjectDefinitionScannerTests
+ {
+ [Test]
+ public void Can_Create_Custom_Scan_Routine()
+ {
+ var scanner = new ScanOverridingAssemblyObjectDefinitionScanner();
+ var registry = new DefaultListableObjectFactory();
+ scanner.ScanAndRegisterTypes(registry);
+ Assert.That(registry.ObjectDefinitionCount, Is.EqualTo(1), "found multiple definitions");
+ Assert.That(registry.GetObject(), Is.Not.Null,
+ "correct single defintion was not registered");
+ }
+
+ private class ScanOverridingAssemblyObjectDefinitionScanner : AssemblyObjectDefinitionScanner
+ {
+ public override IEnumerable Scan()
+ {
+ return new Type[] {typeof (ComponentScan.ScanComponentsAndAddToContext.ConfigurationImpl)};
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/Spring/Spring.Core.Tests/Spring.Core.Tests.2010.csproj b/test/Spring/Spring.Core.Tests/Spring.Core.Tests.2010.csproj
index 990c40ae..04a141ef 100644
--- a/test/Spring/Spring.Core.Tests/Spring.Core.Tests.2010.csproj
+++ b/test/Spring/Spring.Core.Tests/Spring.Core.Tests.2010.csproj
@@ -153,6 +153,7 @@
Code
+