Browse Source

[SPR-7960] No longer tracking empty activated profiles.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4394 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/merge
Sam Brannen 15 years ago
parent
commit
4218599fa5
  1. 6
      org.springframework.test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java
  2. 22
      org.springframework.test/src/test/java/org/springframework/test/context/ContextLoaderUtilsTests.java

6
org.springframework.test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java

@ -254,6 +254,12 @@ abstract class ContextLoaderUtils { @@ -254,6 +254,12 @@ abstract class ContextLoaderUtils {
}
if (!ObjectUtils.isEmpty(profiles)) {
// Preserve the order in which the profiles were declared by
// reversing the array. This is necessary since we prepend each
// non-empty element to the aggregated list as we traverse the
// class hierarchy. Note that the following works because
// Arrays.asList() "writes through" to the underlying array.
Collections.reverse(Arrays.<String> asList(profiles));
for (String profile : profiles) {

22
org.springframework.test/src/test/java/org/springframework/test/context/ContextLoaderUtilsTests.java

@ -36,6 +36,20 @@ public class ContextLoaderUtilsTests { @@ -36,6 +36,20 @@ public class ContextLoaderUtilsTests {
assertEquals(0, profiles.length);
}
@Test
public void resolveActivatedProfilesWithNoProfilesDeclared() {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(NoProfilesDeclared.class);
assertNotNull(profiles);
assertEquals(0, profiles.length);
}
@Test
public void resolveActivatedProfilesWithEmptyProfiles() {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(EmptyProfiles.class);
assertNotNull(profiles);
assertEquals(0, profiles.length);
}
@Test
public void resolveActivatedProfilesWithLocalAnnotation() {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(Foo.class);
@ -74,6 +88,14 @@ public class ContextLoaderUtilsTests { @@ -74,6 +88,14 @@ public class ContextLoaderUtilsTests {
private static class Enigma {
}
@ActivateProfiles
private static class NoProfilesDeclared {
}
@ActivateProfiles({ " ", "\t" })
private static class EmptyProfiles {
}
@ActivateProfiles(profiles = "foo")
private static class Foo {
}

Loading…
Cancel
Save