Add integration test for gh-24110

This commit is contained in:
Sam Brannen 2019-12-03 16:48:30 +01:00
parent 6f15f32be3
commit fb13f6f0bc
1 changed files with 39 additions and 1 deletions

View File

@ -516,6 +516,20 @@ class AnnotatedElementUtilsTests {
assertThat(isAnnotated(element, name)).isTrue();
}
@Test
void getMergedAnnotationWithImplicitAliasesWithDefaultsInMetaAnnotationOnComposedAnnotation() {
Class<?> element = ImplicitAliasesWithDefaultsClass.class;
String name = AliasesWithDefaults.class.getName();
AliasesWithDefaults annotation = getMergedAnnotation(element, AliasesWithDefaults.class);
assertThat(annotation).as("Should find @AliasesWithDefaults on " + element.getSimpleName()).isNotNull();
assertThat(annotation.a1()).as("a1").isEqualTo("ImplicitAliasesWithDefaults");
assertThat(annotation.a2()).as("a2").isEqualTo("ImplicitAliasesWithDefaults");
// Verify contracts between utility methods:
assertThat(isAnnotated(element, name)).isTrue();
}
@Test
void getMergedAnnotationAttributesWithInvalidConventionBasedComposedAnnotation() {
Class<?> element = InvalidConventionBasedComposedContextConfigClass.class;
@ -1064,7 +1078,6 @@ class AnnotatedElementUtilsTests {
String[] xmlConfigFiles() default {};
}
@ContextConfig
@Retention(RetentionPolicy.RUNTIME)
@interface AliasedComposedContextConfig {
@ -1105,6 +1118,27 @@ class AnnotatedElementUtilsTests {
@interface ComposedImplicitAliasesContextConfig {
}
@Retention(RetentionPolicy.RUNTIME)
@interface AliasesWithDefaults {
@AliasFor("a2")
String a1() default "AliasesWithDefaults";
@AliasFor("a1")
String a2() default "AliasesWithDefaults";
}
@Retention(RetentionPolicy.RUNTIME)
@AliasesWithDefaults
@interface ImplicitAliasesWithDefaults {
@AliasFor(annotation = AliasesWithDefaults.class, attribute = "a1")
String b1() default "ImplicitAliasesWithDefaults";
@AliasFor(annotation = AliasesWithDefaults.class, attribute = "a2")
String b2() default "ImplicitAliasesWithDefaults";
}
@ImplicitAliasesContextConfig
@Retention(RetentionPolicy.RUNTIME)
@interface TransitiveImplicitAliasesContextConfig {
@ -1410,6 +1444,10 @@ class AnnotatedElementUtilsTests {
static class ImplicitAliasesContextConfigClass3 {
}
@ImplicitAliasesWithDefaults
static class ImplicitAliasesWithDefaultsClass {
}
@TransitiveImplicitAliasesContextConfig(groovy = "test.groovy")
static class TransitiveImplicitAliasesContextConfigClass {
}