Browse Source

Refine BeanRegistryAdapterTests

Closes gh-34557
pull/34571/head
Sébastien Deleuze 9 months ago
parent
commit
91d0ebe327
  1. 17
      spring-beans/src/test/java/org/springframework/beans/factory/support/BeanRegistryAdapterTests.java

17
spring-beans/src/test/java/org/springframework/beans/factory/support/BeanRegistryAdapterTests.java

@ -207,7 +207,7 @@ public class BeanRegistryAdapterTests {
@Test @Test
void customTargetTypeFromResolvableType() { void customTargetTypeFromResolvableType() {
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, TargetTypeBeanRegistrar.class); BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, env, TargetTypeBeanRegistrar.class);
new TargetTypeBeanRegistrar().register(adapter, env); new TargetTypeBeanRegistrar().register(adapter, env);
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromResolvableType"); RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromResolvableType");
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class);
@ -215,7 +215,7 @@ public class BeanRegistryAdapterTests {
@Test @Test
void customTargetTypeFromTypeReference() { void customTargetTypeFromTypeReference() {
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, TargetTypeBeanRegistrar.class); BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, env, TargetTypeBeanRegistrar.class);
new TargetTypeBeanRegistrar().register(adapter, env); new TargetTypeBeanRegistrar().register(adapter, env);
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromTypeReference"); RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromTypeReference");
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class);
@ -223,13 +223,20 @@ public class BeanRegistryAdapterTests {
@Test @Test
void registerViaAnotherRegistrar() { void registerViaAnotherRegistrar() {
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, this.env, DefaultBeanRegistrar.class); BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, this.env, ChainedBeanRegistrar.class);
BeanRegistrar registrar = (registry, env) -> registry.register(new DefaultBeanRegistrar()); new ChainedBeanRegistrar().register(adapter, env);
registrar.register(adapter, env);
assertThat(this.beanFactory.getBeanDefinition("foo")).isNotNull(); assertThat(this.beanFactory.getBeanDefinition("foo")).isNotNull();
} }
private static class ChainedBeanRegistrar implements BeanRegistrar {
@Override
public void register(BeanRegistry registry, Environment env) {
registry.register(new DefaultBeanRegistrar());
}
}
private static class DefaultBeanRegistrar implements BeanRegistrar { private static class DefaultBeanRegistrar implements BeanRegistrar {
@Override @Override

Loading…
Cancel
Save