Polishing

This commit is contained in:
Juergen Hoeller 2013-12-11 22:58:23 +01:00
parent 106a973a4d
commit aa6e6c1349
2 changed files with 18 additions and 19 deletions

View File

@ -13,21 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.context.annotation;
import org.junit.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.tests.sample.beans.TestBean;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ConfigurationClassParser;
import org.springframework.context.annotation.Import;
import org.springframework.tests.sample.beans.TestBean;
/**
* TCK-style unit tests for handling circular use of the {@link Import} annotation. Explore
* subclass hierarchy for specific concrete implementations.
* TCK-style unit tests for handling circular use of the {@link Import} annotation.
* Explore the subclass hierarchy for specific concrete implementations.
*
* @author Chris Beams
*/
@ -37,23 +35,23 @@ public abstract class AbstractCircularImportDetectionTests {
protected abstract String loadAsConfigurationSource(Class<?> clazz) throws Exception;
@Test
public void simpleCircularImportIsDetected() throws Exception {
boolean threw = false;
try {
newParser().parse(loadAsConfigurationSource(A.class), "A");
} catch (BeanDefinitionParsingException ex) {
}
catch (BeanDefinitionParsingException ex) {
assertTrue("Wrong message. Got: " + ex.getMessage(),
ex.getMessage().contains(
"Illegal attempt by @Configuration class 'AbstractCircularImportDetectionTests.B' " +
"to import class 'AbstractCircularImportDetectionTests.A'"));
threw = true;
}
assertTrue(threw);
}
@Test
public void complexCircularImportIsDetected() throws Exception {
boolean threw = false;
@ -67,10 +65,10 @@ public abstract class AbstractCircularImportDetectionTests {
"to import class 'AbstractCircularImportDetectionTests.Z'"));
threw = true;
}
assertTrue(threw);
}
@Configuration
@Import(B.class)
static class A {

View File

@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.context.annotation;
import org.springframework.beans.factory.parsing.FailFastProblemReporter;
@ -22,12 +23,12 @@ import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
/**
* Unit test proving that ASM-based {@link ConfigurationClassParser} correctly detects circular use of
* the {@link Import @Import} annotation.
* Unit test proving that ASM-based {@link ConfigurationClassParser} correctly detects circular
* use of the {@link Import @Import} annotation.
*
* <p>While this test is the only subclass of {@link AbstractCircularImportDetectionTests}, the
* hierarchy remains in place in case a JDT-based ConfigurationParser implementation needs to be
* developed.
* <p>While this test is the only subclass of {@link AbstractCircularImportDetectionTests},
* the hierarchy remains in place in case a JDT-based ConfigurationParser implementation
* needs to be developed.
*
* @author Chris Beams
*/