|
28 | 28 | import static org.junit.Assert.assertThat;
|
29 | 29 | import static org.junit.Assert.assertTrue;
|
30 | 30 | import static org.junit.Assert.fail;
|
| 31 | +import static org.mockito.BDDMockito.given; |
| 32 | +import static org.mockito.Matchers.isNull; |
| 33 | +import static org.mockito.Mockito.mock; |
| 34 | +import static org.mockito.Mockito.never; |
| 35 | +import static org.mockito.Mockito.verify; |
31 | 36 |
|
32 | 37 | import java.io.Closeable;
|
33 | 38 | import java.lang.reflect.Field;
|
|
97 | 102 | import org.springframework.tests.sample.beans.TestBean;
|
98 | 103 | import org.springframework.tests.sample.beans.factory.DummyFactory;
|
99 | 104 | import org.springframework.util.StopWatch;
|
| 105 | +import org.springframework.util.StringValueResolver; |
100 | 106 |
|
101 | 107 | /**
|
102 | 108 | * Tests properties population and autowire behavior.
|
@@ -2261,6 +2267,26 @@ public void testContainsBeanReturnsTrueEvenForAbstractBeanDefinition() {
|
2261 | 2267 | assertThat(bf.containsBean("bogus"), is(false));
|
2262 | 2268 | }
|
2263 | 2269 |
|
| 2270 | + @Test |
| 2271 | + public void resolveEmbeddedValue() throws Exception { |
| 2272 | + DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); |
| 2273 | + StringValueResolver r1 = mock(StringValueResolver.class); |
| 2274 | + StringValueResolver r2 = mock(StringValueResolver.class); |
| 2275 | + StringValueResolver r3 = mock(StringValueResolver.class); |
| 2276 | + bf.addEmbeddedValueResolver(r1); |
| 2277 | + bf.addEmbeddedValueResolver(r2); |
| 2278 | + bf.addEmbeddedValueResolver(r3); |
| 2279 | + given(r1.resolveStringValue("A")).willReturn("B"); |
| 2280 | + given(r2.resolveStringValue("B")).willReturn(null); |
| 2281 | + given(r3.resolveStringValue(isNull(String.class))).willThrow(new IllegalArgumentException()); |
| 2282 | + |
| 2283 | + bf.resolveEmbeddedValue("A"); |
| 2284 | + |
| 2285 | + verify(r1).resolveStringValue("A"); |
| 2286 | + verify(r2).resolveStringValue("B"); |
| 2287 | + verify(r3, never()).resolveStringValue(isNull(String.class)); |
| 2288 | + } |
| 2289 | + |
2264 | 2290 |
|
2265 | 2291 | static class A { }
|
2266 | 2292 | static class B { }
|
|
0 commit comments