diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/support/FooConfigInnerClassTestCase.java b/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotatedFooConfigInnerClassTestCase.java
similarity index 87%
rename from org.springframework.test/src/test/java/org/springframework/test/context/support/FooConfigInnerClassTestCase.java
rename to org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotatedFooConfigInnerClassTestCase.java
index 29becd58b24..d44ce27d960 100644
--- a/org.springframework.test/src/test/java/org/springframework/test/context/support/FooConfigInnerClassTestCase.java
+++ b/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotatedFooConfigInnerClassTestCase.java
@@ -20,10 +20,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
+ * Not an actual test case.
+ *
* @author Sam Brannen
* @since 3.1
+ * @see AnnotationConfigContextLoaderTests
*/
-public class FooConfigInnerClassTestCase {
+public class AnnotatedFooConfigInnerClassTestCase {
@Configuration
static class FooConfig {
diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotationConfigContextLoaderTests.java b/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotationConfigContextLoaderTests.java
index 5000796f99e..636bed78d36 100644
--- a/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotationConfigContextLoaderTests.java
+++ b/org.springframework.test/src/test/java/org/springframework/test/context/support/AnnotationConfigContextLoaderTests.java
@@ -32,19 +32,31 @@ public class AnnotationConfigContextLoaderTests {
private final AnnotationConfigContextLoader contextLoader = new AnnotationConfigContextLoader();
- @Test
- public void generateDefaultConfigurationClassesWithFailure() {
- Class>[] defaultLocations = contextLoader.generateDefaultConfigurationClasses(FooConfigInnerClassTestCase.class);
- assertNotNull(defaultLocations);
- assertEquals("FooConfigInnerClassTestCase.FooConfig should NOT be found", 0, defaultLocations.length);
- }
+ // Developer's note: AnnotationConfigContextLoader currently generates a
+ // default config class named exactly ContextConfiguration, which is a
+ // static inner class of the test class itself.
@Test
- public void generateDefaultConfigurationClassesWithSuccess() {
+ public void generateDefaultConfigurationClassesForAnnotatedInnerClassNamedContextConfiguration() {
Class>[] defaultLocations = contextLoader.generateDefaultConfigurationClasses(ContextConfigurationInnerClassTestCase.class);
assertNotNull(defaultLocations);
assertEquals("ContextConfigurationInnerClassTestCase.ContextConfiguration should be found", 1,
defaultLocations.length);
}
+ @Test
+ public void generateDefaultConfigurationClassesForAnnotatedInnerClass() {
+ Class>[] defaultLocations = contextLoader.generateDefaultConfigurationClasses(AnnotatedFooConfigInnerClassTestCase.class);
+ assertNotNull(defaultLocations);
+ assertEquals("AnnotatedFooConfigInnerClassTestCase.FooConfig should NOT be found", 0, defaultLocations.length);
+ }
+
+ @Test
+ public void generateDefaultConfigurationClassesForNonAnnotatedInnerClass() {
+ Class>[] defaultLocations = contextLoader.generateDefaultConfigurationClasses(PlainVanillaFooConfigInnerClassTestCase.class);
+ assertNotNull(defaultLocations);
+ assertEquals("PlainVanillaFooConfigInnerClassTestCase.FooConfig should NOT be found", 0,
+ defaultLocations.length);
+ }
+
}
diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/support/ContextConfigurationInnerClassTestCase.java b/org.springframework.test/src/test/java/org/springframework/test/context/support/ContextConfigurationInnerClassTestCase.java
index 631d140646c..54734f15c52 100644
--- a/org.springframework.test/src/test/java/org/springframework/test/context/support/ContextConfigurationInnerClassTestCase.java
+++ b/org.springframework.test/src/test/java/org/springframework/test/context/support/ContextConfigurationInnerClassTestCase.java
@@ -20,8 +20,11 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
+ * Not an actual test case.
+ *
* @author Sam Brannen
* @since 3.1
+ * @see AnnotationConfigContextLoaderTests
*/
public class ContextConfigurationInnerClassTestCase {
diff --git a/org.springframework.test/src/test/java/org/springframework/test/context/support/PlainVanillaFooConfigInnerClassTestCase.java b/org.springframework.test/src/test/java/org/springframework/test/context/support/PlainVanillaFooConfigInnerClassTestCase.java
new file mode 100644
index 00000000000..0588ff037ce
--- /dev/null
+++ b/org.springframework.test/src/test/java/org/springframework/test/context/support/PlainVanillaFooConfigInnerClassTestCase.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 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.
+ */
+
+package org.springframework.test.context.support;
+
+import org.springframework.context.annotation.Bean;
+
+/**
+ * Not an actual test case.
+ *
+ * @author Sam Brannen
+ * @since 3.1
+ * @see AnnotationConfigContextLoaderTests
+ */
+public class PlainVanillaFooConfigInnerClassTestCase {
+
+ // Intentionally NOT annotated with @Configuration
+ static class FooConfig {
+
+ @Bean
+ public String foo() {
+ return "foo";
+ }
+ }
+
+}