diff --git a/spring-context/src/test/java/org/springframework/context/annotation/ImportAwareTests.java b/spring-context/src/test/java/org/springframework/context/annotation/ImportAwareTests.java index 5d75e5782ed..38dbf1ae5d6 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/ImportAwareTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/ImportAwareTests.java @@ -134,6 +134,14 @@ public class ImportAwareTests { assertThat(((StandardAnnotationMetadata) importMetadata).getIntrospectedClass()).isEqualTo(ConfigurationOne.class); } + @Test + public void metadataFromImportsOneThenThree() { + AnnotationMetadata importMetadata = new AnnotationConfigApplicationContext( + ConfigurationOne.class, ConfigurationThree.class) + .getBean(MetadataHolder.class).importMetadata; + assertThat(((StandardAnnotationMetadata) importMetadata).getIntrospectedClass()).isEqualTo(ConfigurationOne.class); + } + @Test public void importAwareWithAnnotationAttributes() { new AnnotationConfigApplicationContext(ApplicationConfiguration.class); @@ -288,6 +296,13 @@ public class ImportAwareTests { } + @Conditional(OnMissingBeanCondition.class) + @EnableLiteConfiguration("foo") + @Configuration + public static class ConfigurationThree { + } + + @Import(SomeConfiguration.class) @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)