(no commit message)
[utils] / support / cdi / src / test / java / org / wamblee / cdi / SimpleInjectorTest.java
index 61cdfb86cd08048615ece0a36dfda670e4e9fca8..7c4bd11297225477778b773942c1d80007c10325 100644 (file)
@@ -18,6 +18,8 @@ package org.wamblee.cdi;
 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;
@@ -25,8 +27,9 @@ import org.junit.Before;
 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.jndi.StubInitialContextFactory;
 
 public class SimpleInjectorTest extends BaseTestFixture {
 
@@ -40,7 +43,7 @@ public class SimpleInjectorTest extends BaseTestFixture {
         StubInitialContextFactory.register();
         InitialContext ctx = new InitialContext();
         ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager());
-        MySingleton.reset();        
+        MySingleton.reset();
     }
 
     @After
@@ -53,7 +56,8 @@ public class SimpleInjectorTest extends BaseTestFixture {
     @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();
@@ -79,12 +83,38 @@ public class SimpleInjectorTest extends BaseTestFixture {
             @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);
+    }
+
 }