You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cl...@apache.org on 2013/12/08 16:12:14 UTC
svn commit: r1549038 - in
/felix/trunk/ipojo/manipulator/manipulator/src/test/java:
org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java
test/inner/ComponentWithInnerClasses.java
Author: clement
Date: Sun Dec 8 15:12:14 2013
New Revision: 1549038
URL: http://svn.apache.org/r1549038
Log:
Initial attempt to reproduce FELIX-4347
Modified:
felix/trunk/ipojo/manipulator/manipulator/src/test/java/org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java
felix/trunk/ipojo/manipulator/manipulator/src/test/java/test/inner/ComponentWithInnerClasses.java
Modified: felix/trunk/ipojo/manipulator/manipulator/src/test/java/org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/manipulator/src/test/java/org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java?rev=1549038&r1=1549037&r2=1549038&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/manipulator/src/test/java/org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java (original)
+++ felix/trunk/ipojo/manipulator/manipulator/src/test/java/org/apache/felix/ipojo/manipulation/InnerClassAdapterTest.java Sun Dec 8 15:12:14 2013
@@ -29,9 +29,11 @@ import org.mockito.Mockito;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
+import java.util.concurrent.Callable;
import static junit.framework.Assert.assertEquals;
import static org.fest.assertions.Assertions.assertThat;
@@ -335,6 +337,18 @@ public class InnerClassAdapterTest {
assertThat((String) bar.invoke(o)).isEqualTo("bar");
}
+// @Test
+// public void testThatAnonymousClassDeclaredInStaticFieldsAreNotManipulated() throws Exception {
+// Manipulator manipulator = new Manipulator();
+// String className = "test.inner.ComponentWithInnerClasses";
+// ManipulatedClassLoader classLoader = manipulate(className, manipulator);
+//
+// Class clazz = classLoader.findClass(className);
+// Method method = clazz.getMethod("call");
+// assertThat(method).isNotNull();
+// assertThat(method.invoke(null)).isEqualTo(1);
+// }
+
private Class findInnerClass(Class[] classes, String name) {
for (Class clazz : classes) {
if (clazz.getName().contains(name)) {
Modified: felix/trunk/ipojo/manipulator/manipulator/src/test/java/test/inner/ComponentWithInnerClasses.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/manipulator/src/test/java/test/inner/ComponentWithInnerClasses.java?rev=1549038&r1=1549037&r2=1549038&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/manipulator/src/test/java/test/inner/ComponentWithInnerClasses.java (original)
+++ felix/trunk/ipojo/manipulator/manipulator/src/test/java/test/inner/ComponentWithInnerClasses.java Sun Dec 8 15:12:14 2013
@@ -21,6 +21,8 @@ package test.inner;
import org.apache.felix.ipojo.annotations.Component;
+import java.util.concurrent.Callable;
+
/**
* A component containing inner classes.
*/
@@ -42,6 +44,7 @@ public class ComponentWithInnerClasses{
private void doSomethingPrivately() {
}
+
private boolean flag;
boolean getFlag() {
@@ -52,6 +55,16 @@ public class ComponentWithInnerClasses{
private String foo = "foo";
+ public static final Callable<Integer> callable = new Callable<Integer>() {
+ public Integer call() {
+ return 1;
+ }
+ };
+
+ public static int call() throws Exception {
+ return callable.call();
+ }
+
private class MyInnerWithANativeMethod {
public String foo() {