|
|
|
@ -488,6 +488,20 @@ public class AnnotatedElementUtilsTests { |
|
|
|
assertTrue(isAnnotated(element, name)); |
|
|
|
assertTrue(isAnnotated(element, name)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void getMergedAnnotationWithImplicitAliasesWithDefaultsInMetaAnnotationOnComposedAnnotation() { |
|
|
|
|
|
|
|
Class<?> element = ImplicitAliasesWithDefaultsClass.class; |
|
|
|
|
|
|
|
String name = AliasesWithDefaults.class.getName(); |
|
|
|
|
|
|
|
AliasesWithDefaults annotation = getMergedAnnotation(element, AliasesWithDefaults.class); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertNotNull("Should find @AliasesWithDefaults on " + element.getSimpleName(), annotation); |
|
|
|
|
|
|
|
assertEquals("a1", "ImplicitAliasesWithDefaults", annotation.a1()); |
|
|
|
|
|
|
|
assertEquals("a2", "ImplicitAliasesWithDefaults", annotation.a2()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Verify contracts between utility methods:
|
|
|
|
|
|
|
|
assertTrue(isAnnotated(element, name)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void getMergedAnnotationAttributesWithInvalidConventionBasedComposedAnnotation() { |
|
|
|
public void getMergedAnnotationAttributesWithInvalidConventionBasedComposedAnnotation() { |
|
|
|
Class<?> element = InvalidConventionBasedComposedContextConfigClass.class; |
|
|
|
Class<?> element = InvalidConventionBasedComposedContextConfigClass.class; |
|
|
|
@ -958,7 +972,6 @@ public class AnnotatedElementUtilsTests { |
|
|
|
String[] xmlConfigFiles() default {}; |
|
|
|
String[] xmlConfigFiles() default {}; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ContextConfig |
|
|
|
@ContextConfig |
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@interface AliasedComposedContextConfig { |
|
|
|
@interface AliasedComposedContextConfig { |
|
|
|
@ -999,6 +1012,27 @@ public class AnnotatedElementUtilsTests { |
|
|
|
@interface ComposedImplicitAliasesContextConfig { |
|
|
|
@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 |
|
|
|
@ImplicitAliasesContextConfig |
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@interface TransitiveImplicitAliasesContextConfig { |
|
|
|
@interface TransitiveImplicitAliasesContextConfig { |
|
|
|
@ -1296,6 +1330,10 @@ public class AnnotatedElementUtilsTests { |
|
|
|
static class ImplicitAliasesContextConfigClass3 { |
|
|
|
static class ImplicitAliasesContextConfigClass3 { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ImplicitAliasesWithDefaults |
|
|
|
|
|
|
|
static class ImplicitAliasesWithDefaultsClass { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@TransitiveImplicitAliasesContextConfig(groovy = "test.groovy") |
|
|
|
@TransitiveImplicitAliasesContextConfig(groovy = "test.groovy") |
|
|
|
static class TransitiveImplicitAliasesContextConfigClass { |
|
|
|
static class TransitiveImplicitAliasesContextConfigClass { |
|
|
|
} |
|
|
|
} |
|
|
|
|