[SPR-7960] resolveActivatedProfiles() now resolves a unique set of activated profiles

This commit is contained in:
Sam Brannen
2011-06-01 12:56:50 +00:00
parent 13b7f1a31b
commit f64344b296
2 changed files with 35 additions and 20 deletions

View File

@@ -18,6 +18,10 @@ package org.springframework.test.context;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
@@ -50,6 +54,18 @@ public class ContextLoaderUtilsTests {
assertEquals(0, profiles.length);
}
@Test
public void resolveActivatedProfilesWithDuplicatedProfiles() {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(DuplicatedProfiles.class);
assertNotNull(profiles);
assertEquals(3, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
assertTrue(list.contains("baz"));
}
@Test
public void resolveActivatedProfilesWithLocalAnnotation() {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(Foo.class);
@@ -71,8 +87,10 @@ public class ContextLoaderUtilsTests {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(Bar.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
assertEquals("foo", profiles[0]);
assertEquals("bar", profiles[1]);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
}
@Test
@@ -80,8 +98,10 @@ public class ContextLoaderUtilsTests {
String[] profiles = ContextLoaderUtils.resolveActivatedProfiles(Animals.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
assertEquals("dog", profiles[0]);
assertEquals("cat", profiles[1]);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("dog"));
assertTrue(list.contains("cat"));
}
@@ -96,6 +116,10 @@ public class ContextLoaderUtilsTests {
private static class EmptyProfiles {
}
@ActivateProfiles({ "foo", "bar", "foo", "bar", "baz" })
private static class DuplicatedProfiles {
}
@ActivateProfiles(profiles = "foo")
private static class Foo {
}