import static junit.framework.Assert.*;
import static org.mockito.Mockito.*;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
import javax.naming.InitialContext;
import org.junit.After;
import org.junit.Test;
import org.wamblee.inject.Injector;
import org.wamblee.inject.InjectorFactory;
+import org.wamblee.inject.InjectorBuilder;
import org.wamblee.inject.SimpleInjector;
-import org.wamblee.support.jndi.StubInitialContextFactory;
+import org.wamblee.test.cdi.BeanManagerSetup;
+import org.wamblee.test.jndi.StubInitialContextFactory;
public class SimpleInjectorTest extends BaseTestFixture {
StubInitialContextFactory.register();
InitialContext ctx = new InitialContext();
ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager());
- MySingleton.reset();
+ MySingleton.reset();
}
@After
@Test
public void testGetSingleton() {
MyPojo pojo = new MyPojo();
- SimpleInjector injector = new SimpleInjector(new CdiInjectorFactory(BeanManagerLookup.lookup()));
+ SimpleInjector injector = new SimpleInjector(new CdiInjectorFactory(
+ BeanManagerLookup.lookup()));
injector.inject(pojo);
MySingleton obj = pojo.getSingleton();
@Override
public void inject(Object aComponent) {
MyPojo pojo2 = (MyPojo) aComponent;
- pojo2.setSingleton(singleton);
+ pojo2.setSingleton(singleton);
}
});
-
+
injector.inject(pojo);
- // verify the custom injector was called.
+ // verify the custom injector was called.
assertSame(singleton, pojo.getSingleton());
}
+
+ @RequestScoped
+ public static class Y {
+
+ }
+
+ public static class X {
+ @Inject
+ private Y y;
+
+ }
+
+ @Test
+ public void testInjectStorage() throws Exception {
+ X x = new X();
+ InjectorBuilder.setInjectorFactory(null);
+ InjectorBuilder.getInjector().inject(x);
+ }
+
+ @Test
+ public void testInjectStorage2() {
+ X x = new X();
+ InjectorBuilder.setInjectorFactory(null);
+ InjectorBuilder.getInjector().inject(x);
+ }
+
}