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() {
}