You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/30 20:57:12 UTC

svn commit: r929228 - in /myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core: MethodLevelReloadingHandlerTest.java probes/Probe.java

Author: werpu
Date: Tue Mar 30 18:57:12 2010
New Revision: 929228

URL: http://svn.apache.org/viewvc?rev=929228&view=rev
Log:
http://issues.apache.org/jira/browse/EXTSCRIPT-109

Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/MethodLevelReloadingHandlerTest.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/probes/Probe.java

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/MethodLevelReloadingHandlerTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/MethodLevelReloadingHandlerTest.java?rev=929228&r1=929227&r2=929228&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/MethodLevelReloadingHandlerTest.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/MethodLevelReloadingHandlerTest.java Tue Mar 30 18:57:12 2010
@@ -19,11 +19,20 @@
 
 package org.apache.myfaces.scripting.core;
 
+import org.apache.myfaces.scripting.api.BaseWeaver;
+import org.apache.myfaces.scripting.api.DynamicCompiler;
+import org.apache.myfaces.scripting.api.ScriptingConst;
+import org.apache.myfaces.scripting.core.probes.MethodReloadingProbe;
+import org.apache.myfaces.scripting.core.probes.Probe;
+import org.apache.myfaces.scripting.core.util.ReflectUtil;
+import org.apache.myfaces.scripting.core.util.WeavingContext;
+import org.junit.Before;
 import org.junit.Test;
 
+import static junit.framework.Assert.assertTrue;
+
 /**
  * TestCase for our method level reloading handler
- * 
  *
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
@@ -31,22 +40,72 @@ import org.junit.Test;
 
 public class MethodLevelReloadingHandlerTest {
 
+    MethodReloadingProbe _probe;
+
+    /**
+     * This weaver does nothing except instantiating
+     * the object anew at every reload instance request
+     * <p/>
+     * we need it to simulate the object level reloading
+     * at every method call
+     */
+    class ObjectReladingWeaver extends BaseWeaver {
+
+        Class _clazz;
+
+        public ObjectReladingWeaver(Class clazz) {
+            super();
+            _clazz = clazz;
+        }
+
+        @Override
+        public boolean isDynamic(Class clazz) {
+            return true;
+        }
+
+        public void scanForAddedClasses() {
+        }
+
+        @Override
+        protected DynamicCompiler instantiateCompiler() {
+            return null;
+        }
+
+        @Override
+        protected String getLoadingInfo(String file) {
+            return null;
+        }
+
+        @Override
+        public Class reloadScriptingClass(Class aclass) {
+            return aclass;
+        }
+
+        @Override
+        public Object reloadScriptingInstance(Object scriptingInstance, int artifactType) {
+            return ReflectUtil.instantiate(_clazz);
+        }
+    }
+
     /**
      * Before
      */
+    @Before
     public void init() {
-        
+        WeavingContext.setWeaver(new ObjectReladingWeaver(Probe.class));
+        _probe = new Probe();
     }
 
     @Test
     public void testInvoke() throws Exception {
-    }
+        MethodLevelReloadingHandler handler = new MethodLevelReloadingHandler(_probe, ScriptingConst.ARTIFACT_TYPE_PHASELISTENER);
 
-    @Test
-    public void testGetArtifactType() throws Exception {
-    }
+        ReflectUtil.executeMethod(handler, "testMethod1");
+        assertTrue("objects must be replaced", handler.getDelegate() != _probe && handler.getDelegate() != null);
+        Object secondObject = handler.getDelegate();
+        Boolean retVal = (Boolean) ReflectUtil.executeMethod(handler, "testMethod3", "true");
+        assertTrue(retVal); 
+        assertTrue("objects must be replaced", handler.getDelegate() != secondObject && handler.getDelegate() != null);
 
-    @Test
-    public void testSetArtifactType() throws Exception {
     }
 }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/probes/Probe.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/probes/Probe.java?rev=929228&r1=929227&r2=929228&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/probes/Probe.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/scripting/core/probes/Probe.java Tue Mar 30 18:57:12 2010
@@ -28,7 +28,7 @@ import org.junit.Ignore;
  */
 
 @Ignore
-public class Probe {
+public class Probe implements MethodReloadingProbe {
 
     public Probe() {
     }