Browse Source

Reinstated tests for implicit aliases

Issue: SPR-14437
pull/1119/head
Juergen Hoeller 9 years ago
parent
commit
5ea8c2670e
  1. 67
      spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java
  2. 4
      spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java

67
spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java

@ -18,11 +18,15 @@ package org.springframework.core.annotation; @@ -18,11 +18,15 @@ package org.springframework.core.annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.List;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.core.annotation.AnnotationUtilsTests.ImplicitAliasesContextConfig;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
@ -154,6 +158,69 @@ public class AnnotationAttributesTests { @@ -154,6 +158,69 @@ public class AnnotationAttributesTests {
attributes.getEnum("color");
}
@Test
public void getAliasedStringWithImplicitAliases() {
String value = "metaverse";
List<String> aliases = Arrays.asList("value", "location1", "location2", "location3", "xmlFile", "groovyScript");
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("value", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertEquals(value, attributes.getString(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("location1", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertEquals(value, attributes.getString(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("value", value);
attributes.put("location1", value);
attributes.put("xmlFile", value);
attributes.put("groovyScript", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertEquals(value, attributes.getString(alias)));
}
@Test
public void getAliasedStringArrayWithImplicitAliases() {
String[] value = new String[] {"test.xml"};
List<String> aliases = Arrays.asList("value", "location1", "location2", "location3", "xmlFile", "groovyScript");
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("location1", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(value, attributes.getStringArray(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("value", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(value, attributes.getStringArray(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("location1", value);
attributes.put("value", value);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(value, attributes.getStringArray(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("location1", value);
AnnotationUtils.registerDefaultValues(attributes);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(value, attributes.getStringArray(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
attributes.put("value", value);
AnnotationUtils.registerDefaultValues(attributes);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(value, attributes.getStringArray(alias)));
attributes = new AnnotationAttributes(ImplicitAliasesContextConfig.class);
AnnotationUtils.registerDefaultValues(attributes);
AnnotationUtils.postProcessAnnotationAttributes(null, attributes, false);
aliases.stream().forEach(alias -> assertArrayEquals(new String[] {""}, attributes.getStringArray(alias)));
}
enum Color {

4
spring-core/src/test/java/org/springframework/core/annotation/AnnotationUtilsTests.java

@ -2121,12 +2121,12 @@ public class AnnotationUtilsTests { @@ -2121,12 +2121,12 @@ public class AnnotationUtilsTests {
@ContextConfig
@Retention(RetentionPolicy.RUNTIME)
@interface ImplicitAliasesContextConfig {
public @interface ImplicitAliasesContextConfig {
@AliasFor(annotation = ContextConfig.class, attribute = "location")
String xmlFile() default "";
@AliasFor(annotation = ContextConfig.class, value = "location")
@AliasFor(annotation = ContextConfig.class, attribute = "location")
String groovyScript() default "";
@AliasFor(annotation = ContextConfig.class, attribute = "location")

Loading…
Cancel
Save